๊ฐœ๋ฐœ์ž HOON
๐Ÿ› HOON DEVLog
๊ฐœ๋ฐœ์ž HOON
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ˜Ž ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ (137)
    • ๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„ (7)
    • ๐Ÿฆ” ์ทจ์—…์ค€๋น„ ๊ธฐ๋ก (7)
    • โ˜• ์ž๋ฐ” : JAVA (5)
    • ๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS (80)
    • ๐ŸŒฑ ๋ฐฑ์—”๋“œ : Backend (13)
    • ๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS (11)
    • ๐Ÿ—‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : DB (1)
    • ๐Ÿƒ‍โ™‚๏ธ DEVLOG (8)
    • โš™๏ธ Trouble Shooting (5)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • GitHub
  • Resume

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ฐœ๋ฐœ์ž HOON

๐Ÿ› HOON DEVLog

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ (level2, python)
๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ (level2, python)

2023. 4. 11. 16:46

 

 

๐Ÿค” ํ’€์ด ์ฝ”๋“œ

 

from collections import deque

def bfs(start, place):
    queue = deque()
    queue.append([start[0], start[1], 0])
    visited = [[False for _ in range(5)] for _ in range(5)]
    visited[start[0]][start[1]] = True
    
    dx = [0, 0, -1, 1]
    dy = [1, -1, 0, 0]
    
    candidate = []
    
    while queue:
        a, b, dist = queue.popleft()
        
        for i in range(4):
            nx = dx[i] + a
            ny = dy[i] + b
            if 0 <= nx < 5 and 0 <= ny < 5 and not visited[nx][ny] and place[nx][ny] != "X":
                visited[nx][ny] = True
                queue.append([nx, ny, dist + 1])
                if place[nx][ny] == "P":
                    candidate.append(dist + 1)
    
    return True if candidate and min(candidate) <= 2 else False
                

def check_distance(place):
    for i in range(5):
        for j in range(5):
            if place[i][j] == "P":
                if bfs([i, j], place):
                    return 0
    return 1
                

def solution(places):
    answer = []
    for place in places:
        answer.append(check_distance(place))
    return answer

 

 

๐Ÿค” ๋ฌธ์ œ ํ’€์ด

 

์ „์ฒด 2์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐ€๋กœ ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 5๋ฐ–์— ๋˜์ง€ ์•Š์œผ๋‹ˆ, ๋ชจ๋“  ์‚ฌ๋žŒ์— ๋Œ€ํ•ด์„œ ๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ๊ฐ€ 2 ์ดํ•˜์ธ ์ฃผ๋ณ€์‚ฌ๋žŒ์ด ์žˆ๋Š”์ง€ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ฃผ๋ณ€์‚ฌ๋žŒ์˜ ๊ฑฐ๋ฆฌ๋Š” BFS๋กœ ํ’€์ดํ–ˆ์Šต๋‹ˆ๋‹ค.

์ƒํ•˜์ขŒ์šฐ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š๊ณ , ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ง€์—ญ์ด๋ฉฐ, ํ”Œ๋ ˆ์ดํŠธ๋กœ ๋ง‰ํžˆ์ง€ ์•Š์€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๋ฐฉ๋ฌธ์„ ํ•˜๊ณ ,

"O"์ฒ˜๋Ÿผ ๋นˆ ํ…Œ์ด๋ธ”์ด๋ฉด ๊ทธ๋ƒฅ ์ง€๋‚˜๊ฐ€๊ณ , "P"๋กœ ์‚ฌ๋žŒ์„ ๋งŒ๋‚ฌ๋‹ค๋ฉด, ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

๋ชจ๋“  while๋ฌธ์ด ๋๋‚˜๋ฉด, candidate ๋ฐฐ์—ด์—๋Š” ์‹œ์ž‘ ์ง€์ ์œผ๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ์‚ฌ๋žŒ๊ณผ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๊ณ , ์ด ์ค‘ ์ตœ์†Œ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ 2์ดํ•˜๋ผ๋ฉด ๊ฑฐ๋ฆฌ๋‘๊ธฐ๋ฅผ ์ง€ํ‚ค์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๋กœ์ง์„ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž…๊ตญ์‹ฌ์‚ฌ (level3, python)  (0) 2023.04.14
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• (level2, python)  (0) 2023.04.11
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฌํ–‰๊ฒฝ๋กœ (level3, python)  (1) 2023.04.11
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ (level3, python)  (0) 2023.04.10
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ (level2, python)  (0) 2023.04.10
    '๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž…๊ตญ์‹ฌ์‚ฌ (level3, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฉ€์ฉกํ•œ ์‚ฌ๊ฐํ˜• (level2, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฌํ–‰๊ฒฝ๋กœ (level3, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ (level3, python)
    ๊ฐœ๋ฐœ์ž HOON
    ๊ฐœ๋ฐœ์ž HOON
    ์ข‹์€ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. # ์ฃผ๋‹ˆ์–ด # ๋ฐฑ์—”๋“œ # ๊ฐœ๋ฐœ์ž

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