사용 언어 - Python3
문제 - 킹
1063번: 킹
8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는
www.acmicpc.net
정답
위치 이동시키는 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]}')
레퍼런스
- 정답 참고
[알고리즘/백준] 1063번 : 킹(python)
처음에 실버 4라서 엄청 만만해게 봤는데 막상 구현하려니까 너무 어려웠다... 나는 딕셔너리를 사용해서 방향을 다 저장하고 풀었다.
velog.io
- 정답 깃허브
GitHub - yyeongeun/codingtest: 코딩테스트 공부
코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.
github.com
'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 |
댓글