[๋ฐฑ์ค€]14940. ์‰ฌ์šด ์ตœ๋‹จ๊ฑฐ๋ฆฌ/Python - Silver1

2025. 3. 10. 18:06ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

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

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

๋ถ„๋ฅ˜

๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰, ๊ทธ๋ž˜ํ”„ ์ด๋ก , ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰

๋ฌธ์ œ ์„ค๋ช…

์ง€๋„๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋ชจ๋“  ์ง€์ ์— ๋Œ€ํ•ด์„œ ๋ชฉํ‘œ์ง€์ ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜์—ฌ๋ผ.

๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์˜ค์ง ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์ž.

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

์ด ๋ฌธ์ œ๋Š” BFS์ด๋‹ค. ๋ฌธ์ œ์—์„œ 2๋Š” ๋ชฉํ‘œ์ง€์ ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋•… ์œ„์—์„œ ๋ชฉํ‘œ์ง€์ ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ถœ๋ฐœ์ง€๋ฅผ ๋ชฉํ‘œ์ง€์ ์œผ๋กœ ๋‘๋ฉด ๋œ๋‹ค.

๋ชฉํ‘œ์ง€์ ์ด ์ •ํ™•ํžˆ (0, 0)์—์„œ ์ฃผ์–ด์ง„๋‹ค๋Š” ๋ณด์žฅ์ด ์—†์œผ๋ฏ€๋กœ ์šฐ๋ฆฌ๋Š” ๋ชฉํ‘œ์ง€์ ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชฉํ‘œ์ง€์ ์„ ์ฐพ์•„ ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ๋œ๋‹ค. ์ด ๋•Œ, ๋ฐฉ๋ฌธํ•œ ๊ณณ์ธ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋™์‹œ์— ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด visited๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ๊ณ„์‚ฐํ•œ๋‹ค.

๊ฐ ๊ฑฐ๋ฆฌ์˜ ๊ณ„์‚ฐ์ด ๋๋‚˜๋ฉด ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋•…์ด์ง€๋งŒ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๊ณณ์€ -1๋กœ ์ถœ๋ ฅํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” visited ๊ฐ’์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys
from collections import deque

input = sys.stdin.readline

n, m = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(n)]
visited = [[0 for _ in range(m)] for _ in range(n)]
dy = [1, 0, 0, -1]
dx = [0, 1, -1, 0]

q = deque()

def bfs(y, x):
    q.append((y, x))
    board[y][x] = 0

    while q:
        y, x = q.popleft()

        for i in range(4):
            ny, nx = y + dy[i], x + dx[i]

            if 0 <= ny < n and 0<= nx < m and not visited[ny][nx] and board[ny][nx] == 1:
                visited[ny][nx] = visited[y][x] + 1
                q.append((ny, nx))

for y in range(n):
    for x in range(m):
        if board[y][x] == 2:
            bfs(y, x)
            break

for y in range(n):
    for x in range(m):
        if board[y][x] > 0 and not visited[y][x]:
            print(-1, end=' ')
        else:
            print(visited[y][x], end=' ')
    print()

๐Ÿ“ํ›„๊ธฐ

bfs ๋ถ€๋ถ„์„ ํ•จ์ˆ˜๋กœ ๋”ฐ๋กœ ๋นผ์„œ ๋งŒ๋“ค์—ˆ๋”๋‹ˆ ์‹œ๊ฐ„์ด ์ค„์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ค„์ผ ์ˆ˜ ์žˆ์„๊นŒ?

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

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

[๋ฐฑ์ค€] 1966. ํ”„๋ฆฐํ„ฐ ํ/Python - Silver3  (0) 2025.03.18
[๋ฐฑ์ค€] 2800. ๊ด„ํ˜ธ ์ œ๊ฑฐ/Python - Gold4  (1) 2025.03.18
[๋ฐฑ์ค€] 17298.์˜คํฐ์ˆ˜/Python - Gold4  (0) 2025.03.07
[๋ฐฑ์ค€] 2493. ํƒ‘/Python - Gold5  (0) 2025.03.01
[๋ฐฑ์ค€] 1202. ๋ณด์„ ๋„๋‘‘/Python - Gold2  (0) 2025.02.28
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 1966. ํ”„๋ฆฐํ„ฐ ํ/Python - Silver3
  • [๋ฐฑ์ค€] 2800. ๊ด„ํ˜ธ ์ œ๊ฑฐ/Python - Gold4
  • [๋ฐฑ์ค€] 17298.์˜คํฐ์ˆ˜/Python - Gold4
  • [๋ฐฑ์ค€] 2493. ํƒ‘/Python - Gold5
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
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

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

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