문제
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저)
- 8 * 8 크기의 체스판
- 좌표를 입력 받으면, 나이트가 움직일 수 있는 경우의 수 구하기
# 체스판 예시
a b c d e f g h
1 - - - - - - - -
2 - - - - - - - -
3 - - - - - - - -
4 - - - - - - - -
5 - - - - - - - -
6 - - - - - - - -
7 - - - - - - - -
8 - - - - - - - -
# 입력 예시
a1
# 출력 예시
2
풀이
- 나이트는 수직 2회 수평 1회, 혹은 수평 2회 수직 1회로 움직인다.
- 나이트가 움직일 수 있는 최대 경우의 수는 8가지다.
입력 받은 좌표에서 8가지 경우의 수를 비교했을 때,
체스판을 벗어나지 않은 경우의 수만 카운트 하면 된다.
y, x = input()
x = int(x)
y = ord(y)-96
move = [[-1, -2], [-1, 2], [1, -2], [1, 2], [-2, -1], [-2, 1], [2, -1], [2, 1]]
count = 0
for move_x, move_y in move :
if x + move_x > 0 and x + move_x < 9 and y + move_y > 0 and y + move_y < 9 :
count += 1
print(count)
댓글남기기