์™•์‹ค์˜ ๋‚˜์ดํŠธ- ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค

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์˜ ์ธ๋ฑ์Šค๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์˜ค์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์ฃผ์˜ํ•˜๋„๋ก ํ•˜์ž.