[๋ฐฑ์ค€] 12851 ์ˆจ๋ฐ”๊ผญ์งˆ 2 (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/12851 12851๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 2 ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ ๋•Œ www.acmicpc.net ์•„์ด๋””์–ด 1. bfs ์ด๋ฏธ ์ˆจ๋ฐ”๊ผญ์งˆ 1๊ณผ 3์„ ํ’€์–ด์„œ ๋Œ€์ถฉ ์•Œ๊ณ  ์žˆ๋‹ค. x - 1, x + 1, x * 2 ํ์— ๋„ฃ์–ด์ฃผ๋ฉด์„œ ํƒ์ƒ‰ํ•˜๋ฉด ๋จ. ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ• ์ง€ ์ƒ๊ฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. 2. ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ญ‰ ํƒ์ƒ‰์„ ํ•˜๋‹ค๊ฐ€ ๋งจ ์ฒ˜์Œ ๋™์ƒํ•œํ…Œ ๋„์ฐฉํ•œ ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๊ณ  ์ดํ›„ ๋™์ƒํ•œํ…Œ ๋„์ฐฉํ–ˆ์„ ๋•Œ ์ €์žฅํ•ด๋‘” ์‹œ๊ฐ„๊ณผ ๊ฐ™๋‹ค๋ฉด ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ +1 ํ•ด์ค€๋‹ค. ์ „์ฒด ์ฝ”๋“œ from col..
[๋ฐฑ์ค€] 1043 ๊ฑฐ์ง“๋ง (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1043 1043๋ฒˆ: ๊ฑฐ์ง“๋ง ์ง€๋ฏผ์ด๋Š” ํŒŒํ‹ฐ์— ๊ฐ€์„œ ์ด์•ผ๊ธฐ ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•œ๋‹ค. ํŒŒํ‹ฐ์— ๊ฐˆ ๋•Œ๋งˆ๋‹ค, ์ง€๋ฏผ์ด๋Š” ์ง€๋ฏผ์ด๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ์ด์•ผ๊ธฐ๋ฅผ ํ•œ๋‹ค. ์ง€๋ฏผ์ด๋Š” ๊ทธ ์ด์•ผ๊ธฐ๋ฅผ ๋งํ•  ๋•Œ, ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์ง„์‹ค๋กœ ๋งํ•˜๊ฑฐ๋‚˜ ์—„์ฒญ๋‚˜๊ฒŒ www.acmicpc.net ์•„์ด๋””์–ด 1. ๋ฐ˜๋ณต๋ฌธ ๋ฌธ์ œ ๋Š๋‚Œ์ด ์ง„์‹ค์„ ์•„๋Š” ์‚ฌ๋žŒ์ด ์ข€๋น„๊ฐ™์ด ๊ฐ์—ผ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋ผ ์ƒ๊ฐ ๊ทธ๋ž˜์„œ ์ง„์‹ค์„ ์•„๋Š” ์‚ฌ๋žŒ๊ณผ ๊ฐ™์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์ง„์‹ค์„ ์•„๋Š” ์‚ฌ๋žŒ์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค. ๊ทผ๋ฐ ์ด๋Ÿฌ๋ฉด ์ง„์‹ค์„ ์•„๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ฐ”๋€Œ์–ด์„œ ์ „์ฒด ํŒŒํ‹ฐ๋ฅผ ๋˜ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๊ณ  ์ด๋ฅผ ๊ณ„์† ๋ฐ˜๋ณตํ•ด์•ผ ํ•ด์„œ ์‹คํŒจํ–ˆ๋‹ค. 2. ๊ทธ๋ž˜ํ”„ ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๋™์‹œ์— ํ•œ ๋ฒˆ์— ํ•ด์•ผ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ  ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ • ๊ฐ ํŒŒํ‹ฐ๋งˆ๋‹ค ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋‘ ๋ช…์”ฉ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ด์–ด..
[๋ฐฑ์ค€] 2467 ์šฉ์•ก (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/2467 2467๋ฒˆ: ์šฉ์•ก ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์šฉ์•ก์˜ ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค. N์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ž…๋ ฅ๋˜๋ฉฐ, ์ด ์ˆ˜๋“ค์€ ๋ชจ๋‘ - www.acmicpc.net ์•„์ด๋””์–ด 1. ์กฐํ•ฉ ๋‹จ์ˆœํ•˜๊ฒŒ ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ๊ฐ’ ์ค‘์—์„œ ๋‘ ๊ฐœ๋ฅผ ๋ฝ‘์•„ ๊ณ„์‚ฐํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐœ์ƒ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ ์กฐํ•ฉ์ด๋ฉด 100000C2์ธ๋ฐ 1์ดˆ๋กœ๋Š” ํƒ๋„ ์—†๋‹ค. 2. ๋ฌธ์ œ์— ์˜ค๋ฆ„์ฐจ์ˆœ์ด ํžŒํŠธ ๋ฏธ๋ฆฌ ์ •๋ ฌ์ด ๋˜์–ด์žˆ์œผ๋‹ˆ๊นŒ ์ด๊ฑธ ์ด์šฉํ•˜๋ผ๋Š” ์˜๋ฏธ๋กœ ํ•ด์„ ์ด๋ถ„ ํƒ์ƒ‰๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ขŒ์šฐ์—์„œ ํ•˜๋‚˜์”ฉ ์ขํ˜€๊ฐ€๋ฉฐ ์ตœ์†Ÿ๊ฐ’(0์— ๊ฐ€๊นŒ์šด ๊ฐ’)์„ ์ฐพ๊ธฐ๋กœ ๊ฒฐ์ •. ์ฝ”๋“œ ์„ค๋ช… while l < r: cur_value =..
[๋ฐฑ์ค€] 6064 ์นด์ž‰ ๋‹ฌ๋ ฅ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/6064 6064๋ฒˆ: ์นด์ž‰ ๋‹ฌ๋ ฅ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž…๋ ฅ์€ T๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ์ค„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ฒ˜์Œ์—๋Š” x, y๊ฐ’์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 1์”ฉ ๋”ํ•ด๊ฐ€๋ฉฐ count๋ฅผ ํ–ˆ๋‹ค. ์ˆซ์ž๊ฐ€ ๋ฐ˜๋ณต๋˜๋ฉด -1์„ ์ถœ๋ ฅํ•˜๊ฒŒ ํ–ˆ๋‹ค. ์ƒ๊ฐ์ด ๋„ˆ๋ฌด ์‰ฌ์› ๋Š”์ง€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ • ์ฝ”๋“œ ์„ค๋ช… def find_K(M, N, x, y): K = x while K
[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ์ฐพ๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/11403 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ์•„์ด๋””์–ด 1. ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ์˜ˆ์ „์— ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์„ ํ‘ผ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ ์ด๋ฒˆ์—๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋‹ค. ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์•ฝ๊ฐ„๋งŒ ๋ณ€ํ˜•ํ•˜๋ฉด ๋จ ์ฝ”๋“œ ์„ค๋ช… for k in range(N): for i in range(N): for j in range(N): if adj_matrix[i][k] == 1 and adj_matrix[k][j] == 1: adj_matrix[i][j] = 1 k๋Š” ๊ฑฐ์ณ๊ฐ€๋Š” ๋…ธ๋“œ, i๋Š” ์‹œ์ž‘ ๋…ธ๋“œ, j๋Š” ๋„์ฐฉ..
[๋ฐฑ์ค€] 16236 ์•„๊ธฐ ์ƒ์–ด (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/16236 16236๋ฒˆ: ์•„๊ธฐ ์ƒ์–ด N×N ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์— ๋ฌผ๊ณ ๊ธฐ M๋งˆ๋ฆฌ์™€ ์•„๊ธฐ ์ƒ์–ด 1๋งˆ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ณต๊ฐ„์€ 1×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ํ•œ ์นธ์—๋Š” ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 1๋งˆ๋ฆฌ ์กด์žฌํ•œ๋‹ค. ์•„๊ธฐ ์ƒ์–ด์™€ ๋ฌผ๊ณ ๊ธฐ๋Š” ๋ชจ๋‘ ํฌ๊ธฐ๋ฅผ ๊ฐ€ www.acmicpc.net ์•„์ด๋””์–ด 1. ์ตœ์†Œ ๊ฒฝ๋กœ bfs ์ง€๋„์™€ ์ตœ์†Œ ๊ฒฝ๋กœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด๊ณ  bfs๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •. ์—ฌ์œ ๋กœ์šด ์‹œ๊ฐ„๊ณผ nํฌ๊ธฐ๋ฅผ ๋ณด๊ณ  bfs๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ํ•ด๋„ ๊ดœ์ฐฎ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋จน์ด๋ฅผ ์ฐพ์„ ๋•Œ๋งˆ๋‹ค bfs๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. 2. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฌผ๊ณ ๊ธฐ a. ๋ฌผ๊ณ ๊ธฐ๊นŒ์ง€ ์ด๋™์ด ๊ฐ€๋Šฅํ•œ์ง€ check b. ๊ทธ ๋ฌผ๊ณ ๊ธฐ๋ฅผ ๋จน์„ ์ˆ˜ ์žˆ๋Š”์ง€ c. ๊ฐ€๋Šฅํ•œ ๋ฌผ๊ณ ๊ธฐ๋“ค์„ ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„๋‘๊ณ  lamb..
[๋ฐฑ์ค€] 17626 Four Squares (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/17626 17626๋ฒˆ: Four Squares ๋ผ๊ทธ๋ž‘์ฃผ๋Š” 1770๋…„์— ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋Š” ๋„ท ํ˜น์€ ๊ทธ ์ดํ•˜์˜ ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฆ๋ช…ํ•˜์˜€๋‹ค. ์–ด๋–ค ์ž์—ฐ์ˆ˜๋Š” ๋ณต์ˆ˜์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 26์€ 52๊ณผ 12์˜ ํ•ฉ์ด๋‹ค; ๋˜ํ•œ 42 + 32 + 1 www.acmicpc.net ์•„์ด๋””์–ด 1. ๊ทธ๋ฆฌ๋””์™€ dp ์ฒ˜์Œ์—๋Š” n์„ ๋„˜์ง€ ์•Š๋Š” ์ตœ๋Œ€ ์ œ๊ณฑ์ˆ˜๋ฅผ n์— ๋นผ๊ฐ€๋ฉด ๋˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ์ƒ๊ธด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 12๋Š” ๊ทธ๋ฆฌ๋””๋กœ ์ƒ๊ฐํ•˜๋ฉด 9, 1, 1, 1์ด์ง€๋งŒ ์ •๋‹ต์€ 4,4,4๋กœ 3๊ฐœ๊ฐ€ ์ตœ์†Œ ๊ฐœ์ˆ˜๋‹ค. ๋‹ค์‹œ ๋ฌธ์ œ ๋‚ด์šฉ์„ ๋ณด๊ณ  dp๋กœ ํ’€๊ธฐ๋กœ ๊ฒฐ์ • DP[n] = (n์ด๋ผ๋Š” ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆ˜์˜ ๊ฐœ์ˆ˜) ์ฝ”๋“œ ์„ค๋ช… k = 1 whi..
[๋ฐฑ์ค€] 2293 ๋™์ „ 1 (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/2293 2293๋ฒˆ: ๋™์ „ 1 ์ฒซ์งธ ์ค„์— n, k๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ๋™์ „์˜ ๊ฐ€์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋™์ „์˜ ๊ฐ€์น˜๋Š” 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net DP ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค์—์š” ์•„์ด๋””์–ด 1. DP ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  dp๋ฌธ์ œ์ธ ๊ฒƒ๋„ ์•Œ๊ณ  'DP [k] = ํ•ฉ์ด k๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜'๋ผ๋Š” ๊ฒƒ๋„ ์•Œ์•˜๋‹ค. ๊ทผ๋ฐ ์ ํ™”์‹ ์•„์ด๋””์–ด๊ฐ€ ๋– ์˜ค๋ฅด์ง€ ์•Š์•„ ๊ฒ€์ƒ‰์˜ ํž˜์„ ๋นŒ๋ ธ๋‹ค. ์ผ์ฃผ์ผ ๋’ค์— ๋˜ ํ’€์–ด๋ดค๋Š”๋ฐ ๋˜ ๊นŒ๋จน์—ˆ๋‹ค. ์ดํ•ด๋ฅผ ๋ชป ํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ๋กœ ํ•จ. ์ฝ”๋“œ ์„ค๋ช… DP = [0] * (k + 1) DP[0] = 1 for c in coins:..