
체스에서 나이트(knight)는 아래 그림과 같이 동그라미로 표시된 8개의 방향중 한 곳으로 한 번에 이동이 가능합니다.

단, 나이트는 체스판 밖으로는 이동할 수 없습니다.
체스판의 각 칸의 위치는 다음과 같이 표기합니다.

예를 들어, A번줄과 1번줄이 겹치는 부분은 'A1'이라고 합니다.
나이트의 위치 pos가 매개변수로 주어질 때, 나이트를 한 번 움직여서 이동할 수 있는 칸은 몇개인지 return 하도록 solution 함수를 완성해주세요.
나이트의 위치 pos가 solution 함수의 매개변수로 주어집니다.
나이트를 한 번 움직여서 이동할 수 있는 칸의 개수를 return 해주세요.
| pos | return |
|---|---|
| "A7" | 3 |
나이트가 A7 위치에 있으면 아래 그림과 같이 왼쪽으로는 이동하지 못하고, 오른쪽으로는 맨 위를 제외한 나머지 세 칸으로 이동 가능합니다.

따라서, 3을 return 하면 됩니다.
#You may use import as below.
#import math
def solution(pos):
# Write code here.
answer = 0
return answer
#The following is code to output testcase.
pos = "A7"
ret = solution(pos)
#Press Run button to receive output.
print("Solution: return value of the function is", ret, ".")
이번에도
빈칸 채우기문제가 아니라 함수 전체를 작성하는 문제이다.
#You may use import as below.
#import math
def solution(pos):
# Write code here.
answer = 0
i = ord(pos[0]) - ord('A')
j = int(pos[1]) - 1
chess_x = [-2, -2, 1, 2]
chess_y = [[-1, 1], [-2, 2], [-2, 2], [-1, 1]]
for idx_x in range(len(chess_x)):
for y in chess_y[idx_x]:
if 0 <= i + chess_x[idx_x] <= 7 and 0 <= j + y <= 7:
answer += 1
return answer
#The following is code to output testcase.
pos = "A7"
ret = solution(pos)
#Press Run button to receive output.
print("Solution: return value of the function is", ret, ".")