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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기