[๋ฐฑ์ค€] 14891. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด/Python - Gold5

2025. 7. 25. 20:45ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 112308 KB, ์‹œ๊ฐ„: 112 ms

๋ฌธ์ œ ์„ค๋ช…

์ด 8๊ฐœ์˜ ํ†ฑ๋‹ˆ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ†ฑ๋‹ˆ๋ฐ”ํ€ด 4๊ฐœ๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ผ๋ ฌ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋˜, ํ†ฑ๋‹ˆ๋Š” N๊ทน ๋˜๋Š” S๊ทน ์ค‘ ํ•˜๋‚˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์—๋Š” ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์™ผ์ชฝ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ 1๋ฒˆ, ๊ทธ ์˜ค๋ฅธ์ชฝ์€ 2๋ฒˆ, ๊ทธ ์˜ค๋ฅธ์ชฝ์€ 3๋ฒˆ, ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋Š” 4๋ฒˆ์ด๋‹ค.

์ด๋•Œ, ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ์ด K๋ฒˆ ํšŒ์ „์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์˜ ํšŒ์ „์€ ํ•œ ์นธ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. ํšŒ์ „์€ ์‹œ๊ณ„ ๋ฐฉํ–ฅ๊ณผ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์ด ์žˆ๊ณ , ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํšŒ์ „ํ•œ๋‹ค.

ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ํšŒ์ „์‹œํ‚ค๋ ค๋ฉด, ํšŒ์ „์‹œํ‚ฌ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์™€ ํšŒ์ „์‹œํ‚ฌ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ ํšŒ์ „ํ•  ๋•Œ, ์„œ๋กœ ๋งž๋‹ฟ์€ ๊ทน์— ๋”ฐ๋ผ์„œ ์˜†์— ์žˆ๋Š” ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ํšŒ์ „์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ๊ณ , ํšŒ์ „์‹œํ‚ค์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด A๋ฅผ ํšŒ์ „ํ•  ๋•Œ, ๊ทธ ์˜†์— ์žˆ๋Š” ํ†ฑ๋‹ˆ๋ฐ”ํ€ด B์™€ ์„œ๋กœ ๋งž๋‹ฟ์€ ํ†ฑ๋‹ˆ์˜ ๊ทน์ด ๋‹ค๋ฅด๋‹ค๋ฉด, B๋Š” A๊ฐ€ ํšŒ์ „ํ•œ ๋ฐฉํ–ฅ๊ณผ ๋ฐ˜๋Œ€๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด์ž.

๋‘ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์˜ ๋งž๋‹ฟ์€ ๋ถ€๋ถ„์€ ์ดˆ๋ก์ƒ‰ ์ ์„ ์œผ๋กœ ๋ฌถ์—ฌ์žˆ๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์—ฌ๊ธฐ์„œ, 3๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ–ˆ๋‹ค๋ฉด, 4๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋Š” ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋œ๋‹ค. 2๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋Š” ๋งž๋‹ฟ์€ ๋ถ€๋ถ„์ด S๊ทน์œผ๋กœ ์„œ๋กœ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์—, ํšŒ์ „ํ•˜์ง€ ์•Š๊ฒŒ ๋˜๊ณ , 1๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋Š” 2๋ฒˆ์ด ํšŒ์ „ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, ํšŒ์ „ํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์„ ๋งŒ๋“ค๊ฒŒ ๋œ๋‹ค.

์œ„์™€ ๊ฐ™์€ ์ƒํƒœ์—์„œ 1๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „์‹œํ‚ค๋ฉด, 2๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋˜๊ณ , 2๋ฒˆ์ด ํšŒ์ „ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, 3๋ฒˆ๋„ ๋™์‹œ์— ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋œ๋‹ค. 4๋ฒˆ์€ 3๋ฒˆ์ด ํšŒ์ „ํ•˜์ง€๋งŒ, ๋งž๋‹ฟ์€ ๊ทน์ด ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ํšŒ์ „ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์˜ ์ดˆ๊ธฐ ์ƒํƒœ์™€ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ํšŒ์ „์‹œํ‚จ ๋ฐฉ๋ฒ•์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ตœ์ข… ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์˜ ์ƒํƒœ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โœ๐Ÿปํ’€์ด

์šฐ์„  ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ ๋Œ์•„๊ฐ€๋ ค๋ฉด ๋งž๋‹ฟ์•„์žˆ๋Š” ๋ถ€๋ถ„์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ทน์„ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ ๋งž๋‹ฟ์•„ ์žˆ๋Š” ๋ถ€๋ถ„์ด 1๋ฒˆ์€ ์™ผ์ชฝ๋งŒ ์žˆ๊ณ  4๋ฒˆ์€ ์˜ค๋ฅธ์ชฝ๋งŒ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  2๋ฒˆ๊ณผ 3๋ฒˆ์€ ์–‘์ชฝ์ด ๋งž๋‹ฟ์•„์žˆ๋‹ค. ํ•œ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ฆฌ๋ฉด ๋งž๋‹ฟ์•„์žˆ๋Š” ๋ถ€๋ถ„์€ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๊ฒŒ ๋œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์€ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค 1๋ฒˆ์„ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค.

๋งž๋‹ฟ์•„ ์žˆ๋Š” ๋ถ€๋ถ„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์˜ค๋ฅธ์ชฝ๊ณผ ์™ผ์ชฝ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์—ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ 2๋ฒˆ์ด๊ณ  ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ฆฐ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๊ทธ๋ฆฌ๊ณ  1๋ฒˆ๊ณผ 2๋ฒˆ์€ ๋งž๋‹ฟ์•„ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์„œ๋กœ ๋‹ค๋ฅด๊ณ  2๋ฒˆ๊ณผ 3๋ฒˆ๋„ ๋งž๋‹ฟ์•„์žˆ๋Š” ๋ถ€๋ถ„์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ทน์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด 2๋ฒˆ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ๋Œ๋ฆฌ๊ธฐ ์ „์— 3๋ฒˆ๊ณผ 4๋ฒˆ์˜ ๋งž๋‹ฟ์•„์žˆ๋Š” ๋ถ€๋ถ„์ด ์„œ๋กœ ๋‹ค๋ฅธ์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ๊ณผ ์™ผ์ชฝ์„ ๊ณ„์† ํ™•์ธํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์™ผ์ชฝ์€ ํ˜„์žฌ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ฒˆํ˜ธ๊ฐ€ 0๋ฏธ๋งŒ์ด๋ผ๋ฉด ๋ฉˆ์ถ”๊ณ , ์˜ค๋ฅธ์ชฝ์€ ํ˜„์žฌ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ฒˆํ˜ธ๊ฐ€ 3์„ ์ดˆ๊ณผํ•˜๋ฉด ๋ฉˆ์ถ”๋„๋ก ํ•˜๋ฉด ๋œ๋‹ค.

์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ๋ชจ๋‘ ์„œ๋กœ ๋งž๋‹ฟ์•„์žˆ๋Š” ๋ถ€๋ถ„์„ ํ™•์ธํ•˜๊ณ  ์ดํ›„์—๋Š” ํ˜„์žฌ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ deque์˜ rotate ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐฉํ–ฅ์„ ๋Œ๋ฆฌ๋ฉด ๋œ๋‹ค. rotate ํ•จ์ˆ˜๋Š” ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๊ณ  ์–‘์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

from collections import deque

wheels = [deque(list(map(int, input()))) for _ in range(4)]
K = int(input())

def left(c, r):
    global wheels
    if c < 0:
        return
    if wheels[c+1][6] != wheels[c][2]:
        left(c - 1, -r)
        wheels[c].rotate(r)


def right(c, r):
    global wheels
    if c > 3:
        return

    if wheels[c-1][2] != wheels[c][6]:
        right(c + 1, -r)
        wheels[c].rotate(r)


for _ in range(K):
    n, r = map(int, input().split())
    left(n - 2, -r)
    right(n, -r)
    wheels[n - 1].rotate(r)

ans = 0
for i in range(4):
    if wheels[i][0]: # wheels[i][0]๊ฐ€ 1์ด๋ฉด
        ans += 2 ** i # 2์˜ i ์ œ๊ณฑ

print(ans)

๐Ÿ“ํ›„๊ธฐ

์ฒ˜์Œ์—๋Š” DFS์ธ์ง€ ๋ฐฑํŠธ๋ž˜ํ‚น์ธ์ง€ ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ํ‘œ์‹œํ•  ํ•„์š”๊ฐ€ ์—†์–ด ๋ณด์—ฌ์„œ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ• ์ง€ ๊ณ ๋ฏผํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ ์™ผ์ชฝ ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ํ’€๋‹ค๋ณด๋‹ˆ ์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผ ํ• ์ง€ ๋ณด์˜€๋‹ค. ๋ญ”๊ฐ€ ์ ์  ๋‚ด๊ฐ€ ์„ฑ์žฅํ•˜๋Š” ๊ธฐ๋ถ„๐Ÿ˜†

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 3190. ๋ฑ€/Python - Gold4  (3) 2025.07.30
[๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5  (1) 2025.07.29
[๋ฐฑ์ค€] 14501. ํ‡ด์‚ฌ/Python - Silver3  (1) 2025.07.23
[SWEA] 2819. ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ด์–ด๋ถ™์ด๊ธฐ/Python - D4  (0) 2025.07.22
[SWEA] 1242. ์•”ํ˜ธ์ฝ”๋“œ ์Šค์บ”/Python - D5  (1) 2025.07.21
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 3190. ๋ฑ€/Python - Gold4
  • [๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5
  • [๋ฐฑ์ค€] 14501. ํ‡ด์‚ฌ/Python - Silver3
  • [SWEA] 2819. ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ด์–ด๋ถ™์ด๊ธฐ/Python - D4
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (174)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (88)
        • Algorithms (80)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ์ž๋ฐ”
    network
    ๋ฐฑ์ค€
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    Java
    ๋„์ปค
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    Baekjoon
    Kubernetes
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ์˜ค๋ธ”์™„
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    docker
    Shell
    K8s
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    programmers
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    dfs
    Linux
    bfs
    Shell Script
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ๋ฆฌ๋ˆ…์Šค
    ๋„คํŠธ์›Œํฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 14891. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด/Python - Gold5
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”