๐ฅ Silver3
https://www.acmicpc.net/problem/1063
โ ์ ๋ต ํ์ด
import sys
input = sys.stdin.readline
king, stone, n = input().rstrip().split()
# ์ด๋ ๋ฐฉํฅ (row,col)
move = {
'R': (0, 1), 'L': (0, -1), 'B': (1, 0), 'T': (-1, 0),
'RT': (-1, 1), 'RB': (1, 1), 'LT': (-1, -1), 'LB': (1, -1)
}
cols = {'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7} #{0:'A'}
reversed_cols = {v: k for k, v in cols.items()}
# ์ด๊ธฐ ์์น ์ธํ
king_cx, king_cy = cols[list(king)[0]], 8 - int(list(king)[1])
stone_cx, stone_cy = cols[list(stone)[0]], 8 - int(list(stone)[1])
# ๋์ ์ด๋์ํฌ์ ์๋ค๋ฉด king๋ ์ด๋์ํฌ ์ ์๋ค.
for _ in range(int(n)):
direction = move[input().rstrip()]
dy, dx = direction[0], direction[1]
# print('์ด๋ ์ ', king_cy, king_cx)
king_nx, king_ny = king_cx + dx, king_cy + dy
if 0 <= king_nx < 8 and 0 <= king_ny < 8:
# king๊ณผ ๋์ ์ถฉ๋์ฌ๋ถ ํ์ธ
if king_ny == stone_cy and king_nx == stone_cx: # stone=king ์ถฉ๋
stone_ny = stone_cy + dy
stone_nx = stone_cx + dx
if 0 <= stone_nx < 8 and 0 <= stone_ny < 8: # ๋ ์ด๋๊ฐ๋ฅ
# stone ์ด๋
stone_cy = stone_ny
stone_cx = stone_nx
else: # ๋ ์ด๋ ๋ถ๊ฐ
continue
# king ์ด๋
king_cx = king_nx
king_cy = king_ny
print(reversed_cols[king_cx] + str(8 - king_cy))
print(reversed_cols[stone_cx] + str(8 - stone_cy))
#31120 44
๋ฉ๋ชจ๋ฆฌ | ์คํ์๊ฐ |
31120 | 44 |
์ด๋ฐ ๋ฐฉํฅ์ขํ ์ด๋ ๋ฌธ์ ๊ฐ ์ต์ํ์ง ์์์ , ๋ฌธ์ ์์ฒด๋ ์ด๋ ต์ง ์์๊ฒ ๊ฐ์๋ฐ ์ฝ๋๋ก ๊ตฌํํ๋๋ฐ ์ค๋์๊ฐ์ด ์์๋์๋ค๐ข
๊ทธ๋ฆฌ๊ณ col์ ๋ํ ๊ฐ์ ์ซ์ ์ขํ๊ฐ ์๋ ์ํ๋ฒณ์ผ๋ก ์ฃผ๋ค๋ณด๋ ์ด๋ฅผ ๋ณํํด์ผ๋์ ์ฒด๊ฐ์ ๋ ๋ณต์กํ๋ค๊ณ ๋๋๊ฒ ๊ฐ๋ค.
8๋ฐฉํฅ์ ๋์ ๋๋ฆฌ๋ก ์ ์ํ๊ณ , ํน์ด ํด๋นํ๋ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ ๋ ๋๊ณผ ์ถฉ๋ํ๊ฒ ๋๋ค๋ฉด ์ด๋ํ๋ ค๋ ๋ฐฉํฅ์ผ๋ก ๋๋ ํจ๊ป ์ด๋์์ผ์ค์ผํ๋ค.
โ๏ธ์ค๋ต์ ์์ธ์ผ๋ก๋ ๋๊ณผ ํน ๋ชจ๋ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ์ฒดํฌํด์ฃผ๊ณ , ๋์ ๋์ด์ ์ด๋ํ ์ ์๋ค๋ฉด ํน๋ ํจ๊ป ์์ง์ผ์ ์๊ธฐ ๋๋ฌธ์ ๋ค์ํด์ผ๋ก ํจ์ค(continue)ํด์ผํ๋ค.
๊ธฐ์กด์ ํน์ ๋จผ์ ์์ง์ด๊ณ , ๋๊ณผ ์ถฉ๋์ฌ๋ถ๋ฅผ ํ์ธํ๋ค๋ณด๋ ์ด๋ฏธ ํน์ด ์ด๋๋์ด ์ค๋ต์ด ๋์ฌ์ ๋ฐ์ ์์๋ค.
์ด ๋ฌธ์ ์ ํ์ ์ฐจ๊ทผ์ฐจ๊ทผํ ํ์ด๋๊ฐ๋ฉด ์ด๋ ต์ง ์์๋ฐ, ์์ง ์ต์์น ์์์ ๊ตฌํ์ด ์ค๋๊ฑธ๋ฆฌ๋๋ฐ ...
๋ฉํ ๋์ด ์ถ์ฒํด์ฃผ์ ์ฌ์๊ฐ์ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ฉด์ ๋ ์ฐ์ตํด๋ณด์์ผ๊ฒ ๋ค!
๐๐ป ์ฐ๊ด ๋ฌธ์
'๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค-Python] ๊ฑฐ๋ถ์ด : 8911๋ฒ (1) | 2024.06.13 |
---|---|
[๋ฐฑ์ค-Python] ์๊ธฐ์์ด2 : 17086๋ฒ (0) | 2024.06.13 |
[๋ฐฑ์ค-Python] ๋จ์ด ๋๋๊ธฐ : 1251๋ฒ (0) | 2024.06.12 |
[๋ฐฑ์ค-Python] ์ข์์ํธ : 2061๋ฒ (1) | 2024.06.12 |
[๋ฐฑ์ค-Python] ํ์๋จธ์ : 1440๋ฒ (0) | 2024.06.12 |