๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐Ÿ’ป Programming/์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ17

[python] ๋ฐฑ์ค€18352_ํŠน์ • ๊ฑฐ๋ฆฌ์˜ ๋„์‹œ ์ฐพ๊ธฐ (DFS&BFS) ๋ฌธ์ œ ํ’€์ด '๋ชจ๋“  ๋„๋กœ์˜ ๊ฑฐ๋ฆฌ๋Š” 1'์ด๋ผ๋Š” ์กฐ๊ฑด ๋•๋ถ„์— BFS๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ from collections import deque n,m,k,x = map(int,input().split()) # ๋„์‹œ ๊ฐœ์ˆ˜, ๋„๋กœ ๊ฐœ์ˆ˜, ๊ฑฐ๋ฆฌ ์ •๋ณด, ์ถœ๋ฐœ ๋„์‹œ ๋ฒˆํ˜ธ graph = [[] for _ in range(n+1)] # ๋„์‹œ ๊ฐœ์ˆ˜ ๋งŒํผ graph ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ for _ in range(m): # ๋„๋กœ ์ •๋ณด ์ž…๋ ฅ๋ฐ›์•„์„œ graph ์— ์ •์žฅ a, b = map(int,input().split()) graph[a].append(b) distance = [-1]*(n+1) # ๋ชจ๋“  ๊ฑฐ๋ฆฌ๋Š” -1 ๋กœ ์ดˆ๊ธฐํ™” distance[x] = 0 # ์ถœ๋ฐœ ๋„์‹œ ๊ฑฐ๋ฆฌ๋Š” 0 q = deque([x]) # ์ถœ๋ฐœ ๋„์‹œ๋ฅผ ํ.. 2022. 2. 6.
[python] ๋ฐฑ์ค€14502_์—ฐ๊ตฌ์†Œ (DFS&BFS) ๋ฌธ์ œ ํ’€์ด DFS๋กœ ๋ฐ”์ด๋Ÿฌ์Šค ํผ์ง€๊ฒŒ ํ•˜๋Š” ํ•จ์ˆ˜์™€ ํ˜„์žฌ ๋งต์—์„œ ์•ˆ์ „์˜์—ญ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋‘๊ณ , ๋นˆ ๊ณต๊ฐ„์— ์šธํƒ€๋ฆฌ๋ฅผ ์น˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ DFS๋กœ ์ฐพ์œผ๋ฉด์„œ ๋งค๋ฒˆ ์•ˆ์ „์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค. ์ฝ”๋“œ n, m = map(int,input().split()) data = [] # ์ดˆ๊ธฐ ๋งต ๋ฆฌ์ŠคํŠธ temp = [[0]*m for _ in range(n)] for _ in range(n): data.append(list(map(int,input().split()))) # ์„œ๋‚จ๋™๋ถ dx = [-1,0,1,0] dy = [0,1,0,-1] result = 0 # DFS๋กœ ๋ฐ”์ด๋Ÿฌ์Šค ํผ์ง€๊ฒŒ ํ•˜๊ธฐ def virus(x,y): for i in range(4): nx = x + dx[i] ny = y + dy[i] # ์ƒ.. 2022. 2. 6.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 'ํŒŒ์ด์ฌ์„ ํŒŒ์ด์ฌ๋‹ต๊ฒŒ' ๊ฐ•์˜ ์ •๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 'ํŒŒ์ด์ฌ์„ ํŒŒ์ด์ฌ๋‹ต๊ฒŒ' ๊ฐ•์˜ ์ •๋ฆฌ https://programmers.co.kr/learn/courses/4008 ํŒŒ์ด์ฌ์„ ํŒŒ์ด์ฌ๋‹ต๊ฒŒ ๋ณธ ๊ฐ•์˜๋Š” ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๋ถ„๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ##### ์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค * ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹œ๋Š” ๋ถ„ * ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ํ’€๊ณ  ์‹ถ์€ ๋ถ„ * Python ์ฝ” programmers.co.kr 1. ๋ชซ๊ณผ ๋‚˜๋จธ์ง€ : divmod() ํ•จ์ˆ˜ ์‚ฌ์šฉ # ๋‹ค๋ฅธ ์–ธ์–ด a = 7 b = 5 print(a//b, a%b) # ํŒŒ์ด์ฌ a = 7 b = 5 print(*divmod(a,b)) 2. n์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ๋œ string ์„ 10์ง„๋ฒ• ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ # ํŒŒ์ด์ฌ # base(5)์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ๋œ num(3212)๋ฅผ 10์ง„๋ฒ•์œผ๋กœ ๋ณ€.. 2021. 8. 3.
[BFS] ๋ฏธ๋กœ ํƒˆ์ถœ - ๋ฌธ์ œ ์ฃผ์ธ๊ณต์€ NxM ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜• ํ˜•ํƒœ์˜ ๋ฏธ๋กœ์— ๊ฐ‡ํ˜€ ์žˆ๋‹ค. ์ฃผ์ธ๊ณต์˜ ์œ„์น˜๋Š” (1,1) ์ด๊ณ  ๋ฏธ๋กœ์˜ ์ถœ๊ตฌ๋Š” (N,M)์˜ ์œ„์น˜์— ์กด์žฌํ•˜๋ฉฐ ํ•œ๋ฒˆ์— ํ•œ ์นธ์”ฉ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ดด๋ฌผ์ด ์žˆ๋Š” ๋ถ€๋ถ„์€ 0 ์—†๋Š” ๋ถ€๋ถ„์€ 1๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค. ์ด ๋•Œ ์ฃผ์ธ๊ณต์ด ํƒˆ์ถœํ•˜๊ธฐ ์œ„ํ•ด ์›€์ง์—ฌ์•ผํ•˜๋Š” ์ตœ์†Œ ์นธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜์‹œ์˜ค. ๋‹จ ์นธ์„ ์…€ ๋•Œ๋Š” ์‹œ์ž‘ ์นธ๊ณผ ๋งˆ์ง€๋ง‰ ์นธ์„ ๋ชจ๋‘ ํฌํ•จํ•ด์„œ ๊ณ„์‚ฐํ•œ๋‹ค. - ํ•ด์„ค BSF๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ. BFS๋Š” ์‹œ์ž‘ ์ง€์ ์—์„œ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ (1,1) ์ง€์ ์—์„œ๋ถ€ํ„ฐ BFS๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ชจ๋“  ๋…ธ๋“œ์˜ ๊ฐ’์„ ๊ฑฐ๋ฆฌ ์ •๋ณด๋กœ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค. from collections import deque n,m = map(int, input().split()) # 2์ฐจ.. 2021. 5. 17.
[DFS] ์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค ๋จน๊ธฐ - ๋ฌธ์ œ NxM ํฌ๊ธฐ์˜ ์–ผ์Œ ํ‹€์ด ์žˆ๊ณ  ๊ตฌ๋ฉ์ด ๋šซ๋ ค ์žˆ๋Š” ๋ถ€๋ถ„์„ 0, ์นธ๋ง‰์ด๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ถ€๋ถ„์„ 1๋กœ ํ‘œ์‹œ๋œ๋‹ค. ๊ตฌ๋ฉ์ด ๋šซ๋ ค ์žˆ๋Š” ๋ถ€๋ถ„๋ผ๋ฆฌ ์ƒํ•˜์ขŒ์šฐ๋กœ ๋ถ™์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. ์ด ๋•Œ ์–ผ์Œ ํ‹€์˜ ๋ชจ์–‘์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์ƒ์„ฑ๋˜๋Š” ์ด ์•„์ด์Šคํฌ๋ฆผ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ex) 00110 00011 11111 00000 -> ์•„์ด์Šคํฌ๋ฆผ 3๊ฐœ ์ƒ์„ฑ - ํ•ด์„ค DFS ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ 1. ํŠน์ •ํ•œ ์ง€์ ์˜ ์ฃผ๋ณ€ ์ƒํ•˜์ขŒ์šฐ๋ฅผ ์‚ดํŽด๋ณธ ๋’ค์— ์ฃผ๋ณ€ ์ง€์  ์ค‘์—์„œ ๊ฐ’์ด 0 ์ด๋ฉด์„œ ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ง€์ ์ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ์ง€์ ์„ ๋ฐฉ๋ฌธ 2. ๋ฐฉ๋ฌธํ•œ ์ง€์ ์—์„œ ๋‹ค์‹œ ์ƒํ•˜์ขŒ์šฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด์„œ ๋ฐฉ๋ฌธ์„ ๋‹ค์‹œ ์ง„ํ–‰ํ•˜๋ฉด ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ง€์ ์„ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋‹ค. 3. 1~2๋ฒˆ์˜ ๊ณผ์ •์„ ๋ชจ๋“  ๋…ธ๋“œ์— ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ .. 2021. 5. 17.
728x90