728x90
- 왕실 정원은 8 x 8 좌표 평면
- 특정 한 칸에 나이트가 서 있음
- L자 형태로만 이동 가능
- 2가지 경우로 이동 가능
1) 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기
2) 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기
- 행 위치 1 ~ 8
- 열 위치 a ~ h
- 현재 나이트가 위치한 곳의 좌표 입력 받음
- 나이트가 이동할 수 있는 경우의 수 출력
pos = input() # 나이트 현재 위치
row = int(pos[1])
col = int(ord(pos[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)
반응형
'전.py' 카테고리의 다른 글
[python] 백준 1541 잃어버린 괄호 (0) | 2022.02.14 |
---|---|
[python] 문자열 재정렬 (0) | 2022.02.14 |
[python] 시각 (0) | 2022.02.14 |
[python] 상하좌우 (0) | 2022.02.14 |
[python] 프로그래머스 가장 큰 수 (Lv.2) (0) | 2022.02.14 |