๋ฐฑ์ค€

[๋ฐฑ์ค€-Python] ํ‚น : 1063๋ฒˆ

Yuuuki 2024. 6. 12. 20:42

๐Ÿฅˆ 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)ํ•ด์•ผํ•œ๋‹ค.

 

๊ธฐ์กด์—” ํ‚น์„ ๋จผ์ € ์›€์ง์ด๊ณ , ๋Œ๊ณผ ์ถฉ๋Œ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋‹ค๋ณด๋‹ˆ ์ด๋ฏธ ํ‚น์ด ์ด๋™๋˜์–ด ์˜ค๋‹ต์ด ๋‚˜์˜ฌ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋‹ค.

์ด ๋ฌธ์ œ ์œ ํ˜•์€ ์ฐจ๊ทผ์ฐจ๊ทผํžˆ ํ’€์–ด๋‚˜๊ฐ€๋ฉด ์–ด๋ ต์ง€ ์•Š์€๋ฐ, ์•„์ง ์ต์ˆ™์น˜ ์•Š์•„์„œ ๊ตฌํ˜„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š”๋ฐ ... 

๋ฉ˜ํ† ๋‹˜์ด ์ถ”์ฒœํ•ด์ฃผ์‹  ์„ฌ์˜๊ฐœ์ˆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ฉด์„œ ๋” ์—ฐ์Šตํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค!

 

 

 

๐Ÿ‘‰๐Ÿป ์—ฐ๊ด€ ๋ฌธ์ œ

https://www.acmicpc.net/problem/4963