1. 문제 정보
- 플랫폼: 이것이 코딩테스트다
- 문제 링크: X
- 난이도/태그: 구현
2. 제출 코드
3. 개선 포인트
현재 나이트의 위치 중 column 부분을
int(ord(input_data[0])) - int(ord('a')) + 1
로 처리할 수 있음.
ord()는 Python 내장 함수로, 문자(문자열이 아닌 단일 문자)의 ASCII 코드 값을 정수로 반환함.
ord('a') # 97 반환
ord('b') # 98 반환
ord('c') # 99 반환
ord('A') # 65 반환
ord('0') # 48 반환
그리고 나이트가 이동할 수 있는 8가지의 방향을 정의해서 쓸 수 있음.
steps = [(-2, -1), (-1, -2), (1, -2), (2, -1), (2, 1), (1, 2), (-1, 2), (-2, 1)]
그래서 이동하고자 하는 위치를 확인해서, 이동 가능하면 카운트 증가시킴
for step in steps:
nx = x + step[0]
ny = y + step[1]
if 1 <= nx <= 8 and 1 <= ny <= 8:
count += 1