[๋ฐฑ์ค€] 14499. ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ/Python - Gold4

2025. 8. 2. 19:54ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

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

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

๋ถ„๋ฅ˜

๊ตฌํ˜„, ์‹œ๋ฎฌ๋ ˆ์ด์…˜

๋ฌธ์ œ ์„ค๋ช…

ํฌ๊ธฐ๊ฐ€ N×M์ธ ์ง€๋„๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ง€๋„์˜ ์˜ค๋ฅธ์ชฝ์€ ๋™์ชฝ, ์œ„์ชฝ์€ ๋ถ์ชฝ์ด๋‹ค. ์ด ์ง€๋„์˜ ์œ„์— ์ฃผ์‚ฌ์œ„๊ฐ€ ํ•˜๋‚˜ ๋†“์—ฌ์ ธ ์žˆ์œผ๋ฉฐ, ์ฃผ์‚ฌ์œ„์˜ ์ „๊ฐœ๋„๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ง€๋„์˜ ์ขŒํ‘œ๋Š” (r, c)๋กœ ๋‚˜ํƒ€๋‚ด๋ฉฐ, r๋Š” ๋ถ์ชฝ์œผ๋กœ๋ถ€ํ„ฐ ๋–จ์–ด์ง„ ์นธ์˜ ๊ฐœ์ˆ˜, c๋Š” ์„œ์ชฝ์œผ๋กœ๋ถ€ํ„ฐ ๋–จ์–ด์ง„ ์นธ์˜ ๊ฐœ์ˆ˜์ด๋‹ค.

  2
4 1 3
  5
  6

์ฃผ์‚ฌ์œ„๋Š” ์ง€๋„ ์œ„์— ์œ— ๋ฉด์ด 1์ด๊ณ , ๋™์ชฝ์„ ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์ด 3์ธ ์ƒํƒœ๋กœ ๋†“์—ฌ์ ธ ์žˆ์œผ๋ฉฐ, ๋†“์—ฌ์ ธ ์žˆ๋Š” ๊ณณ์˜ ์ขŒํ‘œ๋Š” (x, y) ์ด๋‹ค. ๊ฐ€์žฅ ์ฒ˜์Œ์— ์ฃผ์‚ฌ์œ„์—๋Š” ๋ชจ๋“  ๋ฉด์— 0์ด ์ ํ˜€์ ธ ์žˆ๋‹ค.

์ง€๋„์˜ ๊ฐ ์นธ์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜์”ฉ ์“ฐ์—ฌ์ ธ ์žˆ๋‹ค. ์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ ธ์„ ๋•Œ, ์ด๋™ํ•œ ์นธ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ 0์ด๋ฉด, ์ฃผ์‚ฌ์œ„์˜ ๋ฐ”๋‹ฅ๋ฉด์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์นธ์— ๋ณต์‚ฌ๋œ๋‹ค. 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” ์นธ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ฃผ์‚ฌ์œ„์˜ ๋ฐ”๋‹ฅ๋ฉด์œผ๋กœ ๋ณต์‚ฌ๋˜๋ฉฐ, ์นธ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋Š” 0์ด ๋œ๋‹ค.

์ฃผ์‚ฌ์œ„๋ฅผ ๋†“์€ ๊ณณ์˜ ์ขŒํ‘œ์™€ ์ด๋™์‹œํ‚ค๋Š” ๋ช…๋ น์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฃผ์‚ฌ์œ„๊ฐ€ ์ด๋™ํ–ˆ์„ ๋•Œ ๋งˆ๋‹ค ์ƒ๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ฃผ์‚ฌ์œ„๋Š” ์ง€๋„์˜ ๋ฐ”๊นฅ์œผ๋กœ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ ๋ฐ”๊นฅ์œผ๋กœ ์ด๋™์‹œํ‚ค๋ ค๊ณ  ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ๋ช…๋ น์„ ๋ฌด์‹œํ•ด์•ผ ํ•˜๋ฉฐ, ์ถœ๋ ฅ๋„ ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

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

์ด ๋ฌธ์ œ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฑด ์ฃผ์‚ฌ์œ„๊ฐ€ ํšŒ์ „๋˜๋Š” ๊ฑธ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ• ์ง€์ด๋‹ค. 

[1, 2, 3, 4, 5, 6]์œผ๋กœ ์ฃผ์‚ฌ์œ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ,
์ฃผ์‚ฌ์œ„๋ฅผ ๋™์ชฝ์œผ๋กœ ๊ตด๋ฆฌ๋ฉด [1, 2, 3, 4, 5, 6] = [4, 2, 1, 6, 5, 3]์ด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ 2์™€ 5๋Š” ์œ„์น˜๊ฐ€ ๊ทธ๋Œ€๋กœ ์žˆ์œผ๋ฏ€๋กœ 1, 3, 4, 6 = 4, 1, 6, 3์œผ๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถ์ชฝ์œผ๋กœ ๊ตด๋ฆฐ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๊ทธ๋Ÿผ [1, 2, 3, 4, 5, 6] = [5, 1, 3, 4, 6, 2]๊ฐ€ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” 3๊ณผ 4๋งŒ ๊ทธ๋Œ€๋กœ ์žˆ์œผ๋ฏ€๋กœ 1, 2, 5, 6 = 5, 1, 6, 2๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. ์„œ์ชฝ๊ณผ ๋‚จ์ชฝ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•˜๋ฉด ๋œ๋‹ค.

์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ฆฐ ํ›„ ํ˜„์žฌ ์นธ์ด 0์ด๋ฉด ์ฃผ์‚ฌ์œ„ ๋ฐ‘ ๋ฉด์„ ๋ณต์‚ฌํ•˜๋ฉด ๋œ๋‹ค. ์•„๋‹ˆ๋ผ๋ฉด ์ฃผ์‚ฌ์œ„ ๋ฐ‘ ๋ฉด์— ํ˜„์žฌ ์นธ์„ ๋ณต์‚ฌํ•˜๊ณ  ํ˜„์žฌ ์นธ์€ 0์œผ๋กœ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ—๋ฉด์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ์ด๋•Œ ์œ„ ๋ชจ๋“  ๊ณผ์ •์€ ์นธ์„ ๋„˜์–ด๊ฐ€์ง€ ์•Š์•„์•ผ์ง€๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys

input = sys.stdin.readline
N, M, x, y, K = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(N)]
dice = [0, 0, 0, 0, 0, 0]
# ๋™, ์„œ, ๋ถ, ๋‚จ
dx = [0, 0, -1, 1]
dy = [1, -1, 0, 0]

def turn(o):
    if o == 1: # ๋™
        dice[0], dice[2], dice[3], dice[5] = dice[3], dice[0], dice[5], dice[2]
    elif o == 2: # ์„œ
        dice[0], dice[2], dice[3], dice[5] = dice[2], dice[5], dice[0], dice[3]
    elif o == 3: # ๋ถ
        dice[0], dice[1], dice[4], dice[5] = dice[4], dice[0], dice[5], dice[1]
    else: # ๋‚จ
        dice[0], dice[1], dice[4], dice[5] = dice[1], dice[5], dice[0], dice[4]


for o in list(map(int, input().split())):
    nx, ny = x + dx[o - 1], y + dy[o - 1]
    if 0 <= nx < N and 0 <= ny < M:
        x, y = nx, ny
        turn(o)
        if board[x][y] == 0:
            board[x][y] = dice[5]
        else:
            dice[5] = board[x][y]
            board[x][y] = 0
        print(dice[0])

๐Ÿ“ํ›„๊ธฐ

๋‚˜๋Š” ๋ณดํ†ต ์„ธ๋กœ๋ฅผ y๋กœ ํ•˜๊ณ  ๊ฐ€๋กœ๋ฅผ x๋กœ ์ž‘์„ฑํ•ด์„œ ํ‘ธ๋Š”๋ฐ ์ด ๋ฌธ์ œ์—์„œ๋Š” x๊ฐ€ ์„ธ๋กœ์ด๊ณ  y๊ฐ€ ๊ฐ€๋กœ๋ผ๊ณ  ํ•œ๋‹ค. ์ด๊ฒƒ ๋•Œ๋ฌธ์— ๋ช‡ ๋ฒˆ์„ ํ‹€๋ ธ๋Š”์ง€๐Ÿ˜‚ ์ง„์งœ ๋ฌธ์ œ๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ ์ฝ์–ด์•ผ๊ฒ ๋‹ค..ใ…Ž

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

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

[๋ฐฑ์ค€] 14500. ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ/Python - Gold4  (2) 2025.08.06
[๋ฐฑ์ค€] 14502. ์—ฐ๊ตฌ์†Œ/Python - Gold4  (0) 2025.08.03
[๋ฐฑ์ค€] 3190. ๋ฑ€/Python - Gold4  (3) 2025.07.30
[๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5  (1) 2025.07.29
[๋ฐฑ์ค€] 14891. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด/Python - Gold5  (2) 2025.07.25
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 14500. ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ/Python - Gold4
  • [๋ฐฑ์ค€] 14502. ์—ฐ๊ตฌ์†Œ/Python - Gold4
  • [๋ฐฑ์ค€] 3190. ๋ฑ€/Python - Gold4
  • [๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171) N
      • 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 (85) N
        • Algorithms (77) N
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

  • ๋งํฌ

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

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 14499. ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ/Python - Gold4
์ƒ๋‹จ์œผ๋กœ

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