[이것이코딩테스트다] 왕실의 나이트 (python)

zioo·2022년 6월 8일
0

왕실의 나이트

solutions

이것이 코딩 테스트다 책에 있는 실전 문제 풀이이다.
구현문제로 ord를 사용하면 간단하게 풀 수 있었다.

ord() 함수

ord( )
문자열을 아스키코드로 반환할 수 있는 함수이다.

>>> ord('a')
97

>>> ord('z')
122

chr( )
아스키코드를 문자열로 변환하는 함수이다.

>>> chr(65)
A

>>> chr(90)
Z

code

location = input()
# 문자를 유니코드 정수로 바꾸기 : ord
col = int(ord(location[0])-97)
row = int(location[1])-1

cnt = 0
dx = [2, 2, -2, -2, 1, -1, 1, -1]
dy = [1, -1, 1, -1, 2, 2, -2, -2]

# 8가지 방향에 대하여 각 위치로 이동이 가능한지 확인
for i in range(8):
    nx = row + dx[i]
    ny = col + dy[i]
    if 0 <= nx < 8 and 0 <= ny < 8:
        cnt += 1
print(cnt)

0개의 댓글