일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- leetcode
- 매일
- 월간
- 잡생각
- Daily Challenge
- 미드시청
- 3줄정리
- 읽기
- Problem Solving
- 10분
- FIT XR
- Writing
- 30분
- 개발자
- English
- 영어원서읽기
- 파비최
- 리얼 클래스
- 쓰릴오브파이트
- 사이드
- 영어공부
- 만화도
- 스탭퍼
- realclass
- 뭐든
- 링피트
- 운동
- 프로젝트
- 괜찮음
- 화상영어
Archives
- Today
- Total
파비의 매일매일 공부기록
[BOJ] 1063 본문
https://www.acmicpc.net/problem/1063
역시 구현 문제는 난이도가 높지는 않은데 신경쓸게 좀 있다.
그리고 왠지 풀다보면 업무 하는 기분.. ㅋㅋㅋㅋㅋㅋ 역시 PS와 서비스를 개발하는 건 차이가 있다.
# BOJ 1063
def solve():
a, b, n = input().split(' ')
ax, ay = ord(a[0]) - ord('A') + 1, int(a[1])
bx, by = ord(b[0]) - ord('A') + 1, int(b[1])
commands = {'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)):
cmd_x, cmd_y = commands.get(input())
x, y = ax + cmd_x, ay + cmd_y
if x < 1 or x > 8 or y < 1 or y > 8:
continue
if x == bx and y == by:
rx, ry = bx + cmd_x, by + cmd_y
if rx < 1 or rx > 8 or ry < 1 or ry > 8:
continue
bx, by = rx, ry
ax, ay = x, y
print(chr(ord('A') + ax - 1) + str(ay))
print(chr(ord('A') + bx - 1) + str(by))
if __name__ == '__main__':
solve()
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 1076 (0) | 2022.01.16 |
---|---|
[BOJ] 1075 [재시도 필요] (0) | 2022.01.15 |
[BOJ] 1059 [재시도 필요] (0) | 2022.01.13 |
[BOJ] 1057 [재시도 필요] (0) | 2022.01.12 |
[BOJ] 1052 [재시도 필요] (0) | 2022.01.11 |
Comments