๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 14938 ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/14938 14938๋ฒˆ: ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ ์˜ˆ์€์ด๋Š” ์š”์ฆ˜ ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒŒ์ž„ ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ๋ฅผ ์ฆ๊ธฐ๊ณ  ์žˆ๋‹ค. ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ๋Š” ์—ฌ๋Ÿฌ ์ง€์—ญ์ค‘ ํ•˜๋‚˜์˜ ์ง€์—ญ์— ๋‚™ํ•˜์‚ฐ์„ ํƒ€๊ณ  ๋‚™ํ•˜ํ•˜์—ฌ, ๊ทธ ์ง€์—ญ์— ๋–จ์–ด์ ธ ์žˆ๋Š” ์•„์ดํ…œ๋“ค์„ ์ด์šฉํ•ด ์„œ๋ฐ”์ด๋ฒŒ์„ www.acmicpc.net ์กฐ๊ฑด๋งŒ ์ž˜ ์ƒ๊ฐํ•˜๋ฉด ๋˜๋Š” ์ฐฉํ•œ ๋ฌธ์ œ. ์•„์ด๋””์–ด 1. ๋‹ค์ต์ŠคํŠธ๋ผ ์ถœ๋ฐœ์ง€๋กœ ๋ถ€ํ„ฐ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ์ˆ˜์ƒ‰ ๋ฒ”์œ„์•ˆ์— ๋“ค์–ด๊ฐ€๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. ์ˆ˜์ƒ‰ ๋ฒ”์œ„์•ˆ์— ๋“ค์–ด์˜ค๋ฉด ์•„์ดํ…œ ๊ฐœ์ˆ˜๋ฅผ ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 1 ~ n๊นŒ์ง€ for๋ฌธ์œผ๋กœ ์ถœ๋ฐœ์ง€๋ฅผ ๋ฐ”๊พธ๋ฉด์„œ ํƒ์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค. 2. ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์ง€์—ญ์˜ ๊ฐœ์ˆ˜(100)๊ฐ€ ์ ์œผ๋ฏ€๋กœ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ๋กœ ํ’€์–ด๋„ ์‹œ๊ฐ„์ดˆ๊ณผ์— ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ์ „์ฒด ์ฝ”๋“œ ๋‹ค์ต์ŠคํŠธ๋ผ import heapq imp..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€]11660 ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/11660 11660๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 ์ฒซ์งธ ์ค„์— ํ‘œ์˜ ํฌ๊ธฐ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ํ‘œ์— ์ฑ„์›Œ์ ธ ์žˆ๋Š” ์ˆ˜๊ฐ€ 1ํ–‰๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๋„ค www.acmicpc.net ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 2์ฐจ์› ๋ฒ„์ „ ์•„์ด๋””์–ด 1. ๋ˆ„์  ํ•ฉ ์‚ฌ์šฉ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค ๋จผ์ € (0 ,0)์—์„œ (x , y)๊นŒ์ง€์˜ ํ•ฉ์„ arr [x][y]์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฑธ ์‚ฌ์šฉํ•ด์„œ ๊ตฌ๊ฐ„ ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (1, 1)์—์„œ (2, 3)๊นŒ์ง€ ๊ตฌํ•˜๋ ค๋ฉด(๋ฌธ์ œ์—์„œ๋Š” 2,2 ~ 3,4) arr [2][3]..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 10942 ํŒฐ๋ฆฐ๋“œ๋กฌ? (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/10942 10942๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ? ์ด M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ํ™์ค€์ด์˜ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋ช…์šฐ์˜ ๋‹ต์„ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ์ถœ๋ ฅํ•œ๋‹ค. ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ๊ฒฝ์šฐ์—๋Š” 1, ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฐฐ์—ด์—์„œ i๋ถ€ํ„ฐ j๊นŒ์ง€๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ์•„๋‹Œ์ง€ ์—ฌ๋Ÿฌ ๋ฒˆ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด 1. dp ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์œผ๋กœ๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜์„œ dp๋ฅผ ์‚ฌ์šฉ i๋ฒˆ์งธ๋ถ€ํ„ฐ j๊นŒ์ง€์˜ ์ˆ˜๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ํ™•์ธํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. 2. ์ ํ™”์‹ ๋จผ์ € ๋ฌด์กฐ๊ฑด ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ i๋ถ€ํ„ฐ i๊นŒ์ง€์˜ ์ˆ˜๋Š” 1๋กœ ์ €์žฅํ•ด๋‘”๋‹ค. ๊ทธ๋ฆฌ๊ณ  i๋ฒˆ์งธ ์ˆ˜์™€ i + 1๋ฒˆ์งธ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋‹ˆ๊นŒ ์ด๊ฒƒ๋„ 1๋กœ ์ €์žฅ. ์ ํ™”์‹์€ ์ด๋ฏธ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ์ˆ˜ ..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 1647 ๋„์‹œ ๋ถ„ํ•  ๊ณ„ํš (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/1647 1647๋ฒˆ: ๋„์‹œ ๋ถ„ํ•  ๊ณ„ํš ์ฒซ์งธ ์ค„์— ์ง‘์˜ ๊ฐœ์ˆ˜ N, ๊ธธ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 2์ด์ƒ 100,000์ดํ•˜์ธ ์ •์ˆ˜์ด๊ณ , M์€ 1์ด์ƒ 1,000,000์ดํ•˜์ธ ์ •์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ M์ค„์— ๊ฑธ์ณ ๊ธธ์˜ ์ •๋ณด๊ฐ€ A B C ์„ธ ๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ A๋ฒˆ www.acmicpc.net ๋‚œ์ด๋„์— ๋น„ํ•ด ๋งค์šฐ ๊ฐ„๊ฒฐํ•œ ๋ฌธ์ œ๋‹ค. ๋Œ€์‹  ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์•„์ด๋””์–ด 1. ๋งˆ์„์„ ๋‘ ๊ฐœ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์ž˜ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฌ๊ธฐ์„œ ๋น„์šฉ์ด ๊ฐ€์žฅ ํฐ ๊ฐ„์„ ์„ ์ž˜๋ผ์ฃผ๋ฉด ๋œ๋‹ค. ์ตœ์†Œ ์ŠคํŒจ๋‹ ํŠธ๋ฆฌ์—์„œ๋Š” ์‚ฌ์ดํด์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 1644 ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/1644 1644๋ฒˆ: ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 4,000,000) www.acmicpc.net ์ €๋ฒˆ์— ํ‘ผ ๋ถ€๋ถ„ํ•ฉ ๋ฌธ์ œ์˜ ์†Œ์ˆ˜ ๋ฒ„์ „. ๋น„์Šทํ•œ ๋ฌธ์ œ์—ฌ์„œ ๊ธˆ๋ฐฉ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์•„์ด๋””์–ด 1. ์†Œ์ˆ˜ ์ฐพ๊ธฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋น ๋ฅธ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ๋ฐฉ๋ฒ•์œผ๋กœ ์†Œ์ˆ˜๋ฅผ ์ฐพ์•˜๋‹ค. 2. ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ ๋ถ€๋ถ„ํ•ฉ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•˜๋‹ค. ์ „์ฒด ์ฝ”๋“œ import math n = int(input()) if n == 1: print(0) exit(0) arr = [True] * (n + 1) arr[0] = False arr[1] = False for i in range(2, int(math.sqrt(n)+..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 9466 ํ…€ ํ”„๋กœ์ ํŠธ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/9466 9466๋ฒˆ: ํ…€ ํ”„๋กœ์ ํŠธ ์ด๋ฒˆ ๊ฐ€์„ํ•™๊ธฐ์— '๋ฌธ์ œ ํ•ด๊ฒฐ' ๊ฐ•์˜๋ฅผ ์‹ ์ฒญํ•œ ํ•™์ƒ๋“ค์€ ํ…€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ํŒ€์› ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†๋‹ค. ์‹ฌ์ง€์–ด ๋ชจ๋“  ํ•™์ƒ๋“ค์ด ๋™์ผํ•œ ํŒ€์˜ ํŒ€์›์ธ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ํ•œ ํŒ€๋งŒ ์žˆ์„ www.acmicpc.net ์‹œ๊ฐ„์ œํ•œ 3์ดˆ๋กœ ๋งค์šฐ ๊ธธ์ง€๋งŒ ๋„ˆ๋ฌด ๋ณต์žกํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ. ์•„๋งˆ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ผ์„œ ์‹œ๊ฐ„์ œํ•œ์„ ๋„๋„ํ•˜๊ฒŒ ๋‘” ๊ฑฐ ๊ฐ™๋‹ค. ์•„์ด๋””์–ด 1. ๊ทธ๋ž˜ํ”„ ์ผ๋‹จ ๋ณด์ž๋งˆ์ž ๊ทธ๋ž˜ํ”„๋ฅผ ์จ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋ฌธ์ œ ์กฐ๊ฑด์—์„œ ํŒ€์ด ๋˜๋ ค๋ฉด ์„œ๋กœ๊ฐ€ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ๋“ฏ ์‚ฌ์ดํด์ด ์ƒ๊ฒจ์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿผ ์ด ๋ฌธ์ œ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ '์‚ฌ์ดํด์„ ์–ด๋–ป๊ฒŒ ์ฐพ๊ณ  ํŒ๋ณ„ํ•˜๋ƒ'์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 2. dfs ๋ฐฉ๋ฌธ ์œ ๋ฌด๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํด์ด ์ƒ๊ฒผ๋Š”์ง€ ์•ˆ ์ƒ๊ฒผ๋Š”..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 1806 ๋ถ€๋ถ„ํ•ฉ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/1806 1806๋ฒˆ: ๋ถ€๋ถ„ํ•ฉ ์ฒซ์งธ ์ค„์— N (10 ≤ N < 100,000)๊ณผ S (0 < S ≤ 100,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜์—ด์˜ ๊ฐ ์›์†Œ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ์œผ๋ฉฐ, 10,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ๋ถ€๋ถ„ํ•ฉ ์‚ฌ์šฉ ๋ถ€๋ถ„ํ•ฉ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์–˜๊ธฐํ•ด๋ณด๋ฉด 0 ~ N๊นŒ์ง€์˜ ํ•ฉ์„ ๋ฏธ๋ฆฌ ๊ตฌํ•ด๋‘๊ณ  ํ•ฉ์˜ ์ฐจ((0 ~ b๊นŒ์ง€ ํ•ฉ) - (0 ~ a๊นŒ์ง€ ํ•ฉ))๋ฅผ ํ†ตํ•ด a๋ถ€ํ„ฐ b๊นŒ์ง€ ์ˆ˜์˜ ํ•ฉ์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ทธ๋ž˜์„œ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๊ธธ์ด๊ฐ€ 1์ผ ๋•Œ, 2์ผ ๋•Œ... N์ผ ๋•Œ ๋ถ€๋ถ„ํ•ฉ์˜ ๊ฐ’์„ ๊ตฌํ•ด๋ณด๋ฉฐ S๊ฐ’์ด ๋„˜๋Š” ์ˆœ๊ฐ„ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. ๋‹น์—ฐํ•˜๊ฒŒ๋„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค. ..

๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

[๋ฐฑ์ค€] 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ (python ํŒŒ์ด์ฌ)

https://www.acmicpc.net/problem/1504 1504๋ฒˆ: ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ E๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์„ธ ๊ฐœ์˜ ์ •์ˆ˜ a, b, c๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, a๋ฒˆ ์ •์ ์—์„œ b๋ฒˆ ์ •์ ๊นŒ์ง€ ์–‘๋ฐฉํ–ฅ ๊ธธ์ด ์กด www.acmicpc.net ์•„์ด๋””์–ด 1. ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„ ๋‹ค์ต์ŠคํŠธ๋ผ ์•„๋‹ˆ๋ฉด ํ”Œ๋กœ์ด๋“œ ๋‘ ๊ฐœ๋ฅผ ์ƒ๊ฐํ–ˆ๋‹ค. ๋‘์ •์  v1, v2๋ฅผ ์ง€๋‚˜๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ๋Š” ๊ฐ๊ฐ์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋“ค์„ ๋”ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์œผ๋ฏ€๋กœ ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. '1 -> N' = '1 -> v1' + 'v1 -> v2' + 'v2 ->N' ๊ฐ™์ด ๊ณ„์‚ฐํ•ด์„œ ๋‘ ์ •์ ์„ ์ง€๋‚˜๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•œ๋‹ค. ๋ฃจํŠธ๋Š” 1 -> v1 -..

์ œ๋ด‰์•„
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (4 Page)