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

Algorithm๐Ÿ’ป/Baekjoon24

[๋ฐฑ์ค€,Python] 1260๋ฒˆ - DFS์™€ BFS https://www.acmicpc.net/problem/1260 1260๋ฒˆ: DFS์™€ BFS ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ www.acmicpc.net ํ’€์ด ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(dfs)์™€ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(bfs)์œผ๋กœ ์‹คํ–‰ ์‹œํ‚จ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‘๊ฐ€์ง€์˜ ์ฐจ์ด์ ์„ ํ™•์‹คํžˆ ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์ฝ”๋“œ import sys input = sys.stdin.readline n,m,v = map(int,input().split()) visited = [False]*(n+1) graph = [[] for _ in.. 2022. 11. 15.
[๋ฐฑ์ค€,Python] 9465๋ฒˆ - ์Šคํ‹ฐ์ปค https://www.acmicpc.net/problem/9465 9465๋ฒˆ: ์Šคํ‹ฐ์ปค ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” n (1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ๋‘ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ •์ˆ˜๋Š” ๊ทธ ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” ์Šคํ‹ฐ์ปค์˜ www.acmicpc.net ํ’€์ด ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋„์ €ํžˆ ์ ํ™”์‹์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•„ ๊ตฌ๊ธ€๋ง์„ ํ–ˆ๋‹ค. ์œ„์˜ ํ‘œ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด์ž. ์ขŒ์ธก์—์„œ๋ถ€ํ„ฐ ํ•ด๋‹น ์Šคํ‹ฐ์ปค์˜ ์œ„์น˜์— ์ตœ๋Œ€๊ฐ’์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์šฐ์„  ํ•ด๋‹น ์œ„์น˜์—์„œ ์ขŒ,์šฐ,์œ„,์•„๋ž˜ ์ˆซ์ž๋Š” ์„ ํƒํ•  ์ˆ˜ ์—†๋‹ค. 1๋ฒˆ ์ธ๋ฑ์Šค์—์„œ๋Š” ์™ผ์ชฝ ๋Œ€๊ฐ์„ ์˜ 0๋ฒˆ ์ธ๋ฑ์Šค์˜ ์ˆซ์ž๋ฅผ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค. 2๋ฒˆ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ๋Š” ์ด ์ „๊นŒ์ง€ ์ตœ๋Œ“๊ฐ’์„ ๋”ํ•œ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ์™ผ์ชฝ ๋Œ€๊ฐ์„ ์˜ ์ˆซ์ž์™€ .. 2022. 11. 13.
[๋ฐฑ์ค€,Python] 9095๋ฒˆ - 1, 2, 3 ๋”ํ•˜๊ธฐ https://www.acmicpc.net/problem/9095 9095๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด d[4]๋ฅผ ๊ตฌํ•œ๋‹ค๊ณ  ํ•˜์ž. 3์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์—์„œ +1์„ ํ•œ ๊ฒƒ, 2๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์—์„œ +2๋ฅผ ํ•œ ๊ฒƒ, 1์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์—์„œ +3์„ ํ•œ ๊ฒƒ์„ ํ•ฉ์น˜๋ฉด๋œ๋‹ค. ์ฆ‰, d[4] = d[3] + d[2] + d[1] ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. d[n] = d[n-3] + d[n-2] + d[n-1] ์ด๋ผ๋Š” ์‹์ด ๋‚˜์˜จ๋‹ค. ํ•ด๋‹น ๊ทธ๋ฆผ์€ ์ •๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํ•˜์…”์„œ ์ฐธ๊ณ ๋ฅผ ํ–ˆ๋‹ค. [Python] ๋ฐฑ์ค€ #9095 - 1, 2, 3 ๋”ํ•˜๊ธฐ (tistory.com) ์ฝ”๋“œ d=[0]*11.. 2022. 11. 12.
[๋ฐฑ์ค€,Python] 17626๋ฒˆ - 1๋กœ ๋งŒ๋“ค๊ธฐ https://www.acmicpc.net/problem/1463 1463๋ฒˆ: 1๋กœ ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 106๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ํ’€์ด ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ํฐ ์ˆ˜๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์ œ์ผ ๋นจ๋ฆฌ 1๋กœ ๋„๋‹ฌํ•  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜์ง€๋งŒ ํžŒํŠธ์—์„œ์™€ ๊ฐ™์ด 10์˜ ๊ฒฝ์šฐ์—๋Š” 10 - 5 - 4 - 2 - 1๋กœ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•๋ณด๋‹ค ์ฒ˜์Œ๋ถ€ํ„ฐ 1์„ ๋นผ๊ณ  10 - 9 - 3 - 1์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ์ตœ์†Ÿ๊ฐ’์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ทธ๋ฆฌ๋”” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋™์  ๊ณ„ํš๋ฒ•์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋™์  ๊ณ„ํš๋ฒ•์œผ๋กœ๋Š” 1์„ ๋นผ๋Š” ๊ฒฝ์šฐ, 2๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒฝ์šฐ, 3์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฐ์‚ฐ์˜ ํ™ง์ˆ˜๋ฅผ ์ €์žฅํ•ด๋‘๋Š” d ๋ฆฌ์ŠคํŠธ.. 2022. 11. 11.
[๋ฐฑ์ค€,Python] 7662๋ฒˆ - ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ https://www.acmicpc.net/problem/7662 7662๋ฒˆ: ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž…๋ ฅ์€ T๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ์ฒซ์งธ ์ค„์—๋Š” Q์— ์  www.acmicpc.net ํ’€์ด ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž queue๋กœ ๊ตฌํ˜„์€ ๋‹ค ํ–ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๊ณ„์† ๋–ด๋‹ค... ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๋ฌธ๋“ ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ํž™์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ๋‹ค์‹œ ๊ตฌํ˜„์„ ํ•ด๋ณด์•˜๋‹ค. heapq๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตœ์†Œํž™ ๊ธฐ๋Šฅ๋งŒ์„ ์ œ๊ณตํ•˜๊ธฐ์— ์ตœ๋Œ€ํž™์€ ๋”ฐ๋กœ ๊ตฌํ˜„์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. - ์‚ฝ์ž… - ๋จผ์ € ์ตœ์†Œํž™๊ณผ ์ตœ๋Œ€ํž™ ํ˜•ํƒœ๋ฅผ ์„ ์–ธํ•˜๊ณ  ๋ฌธ์ž๊ฐ€ I์ผ ๋•Œ๋Š” ๊ฐ ํž™์— ๊ฐ’์„ ์‚ฝ์ž…ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ด๋•Œ, ์ตœ.. 2022. 10. 31.