이것이 코딩테스트다 with 파이썬 - Chp4. 구현_2. 왕실의 나이트
knight = input()
row = int(knight[1])
column = int(ord(knight[0])) - int(ord('a')) + 1
# ord 하나의 문자를 인자로 받고 해당 문자에 해당하는 유니코드 정수를 반환
# chr 하나의 정수를 인자로 받고 해당 정수에 해당하는 유니코드 문자를 반환
steps = [(2, -1), (2, 1), (1, 2), (-1, 2), (-2, 1), (-2, -1), (-1, -2), (1, -2)]
# 답안 예시 참조
result = 0
for step in steps:
next_row = row + step[0]
next_column = column + step[1]
if next_row >= 1 and next_row <= 8 and next_column >=1 and next_column <=8:
result += 1
print(result)
-> 조금 더 까다롭게 문제를 출제한다면 입력 문자가 열과 행이 아닌 1a와 같은 행과 열 형태로 들어왔을 때 예외 처리를 요구할 수도 있다.
Author And Source
이 문제에 관하여(이것이 코딩테스트다 with 파이썬 - Chp4. 구현_2. 왕실의 나이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@alexms0316/이것이-코딩테스트다-with-파이썬-Chp4.-구현2.-왕실의-나이트저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)