2020. 9. 3. 22:22ใ์นดํ ๊ณ ๋ฆฌ ์์
์์ค์ ๋์ดํธ- ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค
ํ๋ณต ์๊ตญ์ ์์ค ์ ์์ ์ฒด์คํ๊ณผ ๊ฐ์ 8 X 8 ์ขํ ํ๋ฉด์ด๋ค. ์์ค ์ ์์ ํน์ ํ ํ ์นธ์ ๋์ดํธ๊ฐ ์ ์๋ค. ๋์ดํธ๋ ๋งค์ฐ ์ถฉ์ฑ์ค๋ฌ์ด ์ ํ๋ก์ ๋งค์ผ ๋ฌด์ ์ ์ฐ๋งํ๋ค.๋์ดํธ๋ ๋ง์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด๋์ ํ ๋๋ L์ ํํ๋ก๋ง ์ด๋ํ ์ ์์ผ๋ฉฐ ์ ์ ๋ฐ์ผ๋ก๋ ๋๊ฐ ์ ์๋ค. ๋์ดํธ๋ ํน์ ํ ์์น์์ ๋ค์๊ณผ ๊ฐ์ 2๊ฐ์ง ๊ฒฝ์ฐ๋ก ์ด๋ํ ์ ์๋ค.
1. ์ํ์ผ๋ก ๋ ์นธ ์ด๋ํ ๋ค์ ์์ง์ผ๋ก ํ ์นธ ์ด๋ํ๊ธฐ
2. ์์ง์ผ๋ก ๋ ์นธ ์ด๋ํ ๋ค์ ์ํ์ผ๋ก ํ ์นธ ์ด๋ํ๊ธฐ
์ด์ฒ๋ผ 8 X 8 ์ขํ ํ๋ฉด์์์ ๋์ดํธ์ ์์น๊ฐ ์ฃผ์ด์ก์ ๋ ๋์ดํธ๊ฐ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ด๋ ์์ค์ ์ ์์์ ํ ์์น๋ฅผ ํํํ ๋๋ 1๋ถํฐ 8๋ก ํํํ๋ฉฐ, ์ด ์์น๋ฅผ ํํํ ๋๋ a๋ถํฐ h๋ก ํํํ๋ค. ์๋ฅผ ๋ค์ด ๋ง์ฝ ๋์ดํธ๊ฐ a1์ ์์ ๋ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๋ค์ 2๊ฐ์ง์ด๋ค. a1์ ์์น๋ ์ขํ ํ๋ฉด์์ ๊ตฌ์์ ์์น์ ํด๋นํ๋ฉฐ ๋์ดํธ๋ ์ ์์ ๋ฐ์ผ๋ก๋ ๋๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
1. ์ค๋ฅธ์ชฝ์ผ๋ก ๋ ์นธ ์ด๋ ํ ์๋๋ก ํ ์นธ ์ด๋ํ๊ธฐ(c2)
2. ์๋๋ก ๋ ์นธ ์ด๋ ํ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ์ด๋ํ๊ธฐ(b3)
๋ ๋ค๋ฅธ ์๋ก ๋์ดํธ๊ฐ c2์ ์์นํด ์๋ค๋ฉด ๋์ดํธ๊ฐ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ 6๊ฐ์ง์ด๋ค. ์ด๊ฑด ์ง์ ๊ณ์ฐํด๋ณด์์ค.
์ ๋ ฅ ์กฐ๊ฑด
- ์ฒซ์งธ ์ค์ 8 X 8 ์ขํ ํ๋ฉด์์ ํ์ฌ ๋์ดํธ๊ฐ ์์นํ ๊ณณ์ ์ขํ๋ฅผ ๋ํ๋ด๋ ๋ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ด ์ ๋ ฅ๋๋ค. ์ ๋ ฅ ๋ฌธ์๋ a1์ฒ๋ผ ์ด๊ณผ ํ์ผ๋ก ์ด๋ค์ง๋ค.
์ถ๋ ฅ ์กฐ๊ฑด
- ์ฒซ์งธ ์ค์ ๋์ดํธ๊ฐ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ์์ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
- ์ฐ์ ์ด๋ ์ฒ์ฒํ ๋จ๊ณ๋ฅผ ๋ฐ์๊ฐ๋ฉฐ ์ํํ๊ธฐ ๋๋ฌธ์ '์๋ฎฌ๋ ์ด์ ' ๋ฌธ์ ๋ผ๊ณ ๋ณผ ์ ์๋ค.
L์๋ก ์ด๋ํ๋๋ฐ, ๋ง์ฝ ๋ฒ์๋ฅผ ๋์ด๊ฐ๋ค๋ฉด countํ์ง์๊ณ ๋ฒ์๋ฅผ ๋์ง ์๋๋ค๋ฉด countํ๋ ์์ผ๋ก ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋ค.
์์ค ์ฝ๋
array = input()
x = int(array[1])
y = int(ord(array[0]))-int(ord('a'))+1
dx = [-1,-1,1,1,-2,-2,2,2]
dy = [-2,2,-2,2,-1,1,-1,1]
count =0
for i in range(8):
nx = x + dx[i]
ny = y + dy[i]
if nx<1 or ny<1 or nx>8 or ny>9:
continue
else :
count+=1
print(count)
๋ฌธ์ ๋ฅผ ํตํด ์๊ฒ ๋ ์ : ord๋ 'a'์ ๊ฐ์ ๋ฌธ์๋ฅผ ์์คํค์ฝ๋๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ์์ด๋ค. ์ฃผ์ํ ์ ์ ์์คํค์ฝ๋๊ฐ ํํ๋ ์ซ์๋ก ๋์ด์์ง๋ง ์ค์ ๋ก๋ ๋ฌธ์๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ค์ int๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค. dx, dy๋ฐฐ์ด์ ๋ง๋ค ๋๋ ๋ฐ๋์ ๋ฐฐ์ด๋ก ํด์ผํ๋ค. (๋ฆฌ์คํธ) ํ์๋ {}๋ก ํ๋๋ฐ ๋์ ๋๋ฆฌ๋ก ๋์ด dx์ ์ธ๋ฑ์ค๊ฐ์ ๊ฐ์ง๊ณ ์ค์ง ๋ชปํ๋ ์ํฉ์ ๋ง๋ค์๋ค. ์ฃผ์ํ๋๋ก ํ์.