반응형
문제 설명
8x8 좌표평면의 특정 한 칸에 나이트가 서 있다. 나이트는 특정위치에서 다음과 같은 2가지 경우로 이동 할 수 있다. - 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 - 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기 나이트의 위치가 주어졌을 때 나이트가 이동 할 수 있는 경우의 수를 출력! 행 위치는 1~8, 열 위치는 a~h로 표현 |
# 입력 조건
- 첫째 줄에 나이트의 위치가 주어진다.
# 출력 조건
- 첫째 줄에 나이트가 이동할 수 있는 경우의 수를 출력한다.
입력 예시 | 출력 예시 |
a1 | 2 |
문제 해결 아이디어
- 나이트의 8가지 경로를 하나씩 확인하여 각 위치로 이동이 가능한지 확인
- 리스트를 이용하여 8가지 방향에 대한 방향 벡터를 정의
풀이 :
input_data = input()
row = int(input_data[1])
col = int(ord(input_data[0]))-int(ord('a'))+1
steps = [(-2,-1),(-1,-2),(1,-2),(2,-1),(2,1),(1,2),(-1,2),(-2,1)]
result = 0
for step in steps:
next_row = row + step[0]
next_col = col + step[1]
if next_row>=1 and next_row<=8 and next_col>=1 and next_col<=8: result+=1
print(result)
반응형
'Coding Test > 코테 이론' 카테고리의 다른 글
[이코테 python] 정렬 - 선택,삽입,퀵,계수 정렬과 예제 (1) | 2024.02.11 |
---|---|
구현 : 시뮬레이션과 완전 탐색 - 문자열 재정렬 (0) | 2022.10.21 |
구현 : 시뮬레이션과 완전 탐색 - 시각 문제 (0) | 2022.10.21 |
구현 : 시뮬레이션과 완전 탐색 - 상하좌우 문제 (0) | 2022.10.20 |
그리디(탐욕법) 알고리즘 - 모험가 길드 (0) | 2022.10.20 |