사용 언어 - Python3
문제 - 킹
정답
위치 이동시키는 nx,ny 문제 (정답 맞춘 여부 X)
1. ord("A") = 64 외우자
2. 딕셔너리를 이용하여 방향 move 설정
king, stone, N = input().split()
k = list(map(int, [ord(king[0]) - 64, king[1]]))
s = list(map(int, [ord(stone[0]) - 64, stone[1]]))
move = {'R': [1, 0], 'L': [-1, 0], 'B': [0, -1], 'T': [0, 1], 'RT': [1, 1], 'LT': [-1, 1], 'RB': [1, -1], 'LB': [-1, -1]}
for _ in range(int(N)):
m = input()
nx = k[0] + move[m][0]
ny = k[1] + move[m][1]
if 0 < nx <= 8 and 0 < ny <= 8:
if nx == s[0] and ny == s[1]:
sx = s[0] + move[m][0]
sy = s[1] + move[m][1]
if 0 < sx <= 8 and 0 < sy <= 8:
k = [nx, ny]
s = [sx, sy]
else:
k = [nx, ny]
print(f'{chr(k[0] + 64)}{k[1]}')
print(f'{chr(s[0] + 64)}{s[1]}')
레퍼런스
- 정답 참고
- 정답 깃허브
'Algorithm > 구현' 카테고리의 다른 글
[Python3] 백준 1270번 전쟁 - 땅따먹기 (0) | 2023.04.05 |
---|---|
[Python3] 백준 1004번 어린 왕자 (0) | 2023.04.02 |
[프로그래머스 lv1] 크기가 작은 부분 문자열 (1) | 2023.01.25 |
[Python3] 백준 1373번 2진수 8진수 (0) | 2023.01.10 |
[Python3] 백준 1357번 뒤집힌 덧셈 (0) | 2023.01.09 |
댓글