8*8 좌표 평면에서 나이트가 움직인다
나이트는 2가지 경우로 이동한다
1. 수평으로 두 칸 이동, 수직으로 한 칸 이동
2. 수직으로 두 칸 이동, 수평으로 한 칸 이동
8*8 평면에서 나이트의 위치가 주어졌을 때, 나이트가 이동할 수 있는 경우의 수를 출력
a b c d
1
2
3
4
이런식으로 생겼고, a1과 같이 입력이 주어졌을 때, 이동할 수 있는 경우의 수를 출력
< 풀이 >
일단 다 뚫려있으면 총 8가지 경우가 가능
좌2위1, 좌2아래1
우2위1, 우2아래1
좌1위2, 좌1아래2
우1위2, 우1아래2
걍 다 검사해라
task
1. a~h까지 입력받았을 때 숫자로 변환
2. 8가지 경우에서 좌표가 0~7 범위 이내면 가능 그걸 벗어나면 count가 되지 않게 구현
<소스 코드>
dir = [[-2,-1],[-2,1],[2,-1],[2,1],[-1,-2],[-1,2],[1,-2],[1,2]]
move = input()
# 문자를 숫자로 변환
r = ord(move[0][0])-ord('a')
c = int(move[1])-1
count = 0
for d in dir:
new_r = r+d[0]
new_c = r+d[1]
if 0 <= new_r < 8 and 0<= new_c < 8:
count+=1
print(count)
아직은 쉽군
백준을 허투루 한게 아니었다!
'PS 공부' 카테고리의 다른 글
[이것이 코딩테스트다 with 파이썬] chap5 DFS/BFS 음료수 얼려 먹기 (0) | 2024.03.22 |
---|---|
[이것이 코딩테스트다 with 파이썬] chap4 구현. 게임 개발 (1) | 2024.03.22 |
백준 5일차 : 백준 2775번 부녀회장이 될테야 (0) | 2023.02.23 |
백준 4일차 : 백준 1316번 그룹 단어 체커 (0) | 2023.02.21 |
백준 3일차 : 백준 1003번 피보나치 함수 (0) | 2023.02.20 |