๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์•Œ๊ณ ๋ฆฌ์ฆ˜ (15)

DATA101

[BFS/Combination] ๋ฐฑ์ค€#14502: ์—ฐ๊ตฌ์†Œ/Python ํ’€์ด

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/14502 14502๋ฒˆ: ์—ฐ๊ตฌ์†Œ ์ธ์ฒด์— ์น˜๋ช…์ ์ธ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์—ฐ๊ตฌํ•˜๋˜ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์œ ์ถœ๋˜์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ์•„์ง ํผ์ง€์ง€ ์•Š์•˜๊ณ , ๋ฐ”์ด๋Ÿฌ์Šค์˜ ํ™•์‚ฐ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ์—ฐ๊ตฌ์†Œ์— ๋ฒฝ์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ๊ตฌ์†Œ๋Š” ํฌ www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• 1) ๋ฌธ์ œํ•ด๊ฒฐ ์ ˆ์ฐจ ๋ฌธ์ œํ•ด๊ฒฐ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๊ฒŒ 3๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. 1๏ธโƒฃ ๋ฒฝ์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋Š” 3๊ฐœ ์ง€์ ์˜ ๋ชจ๋“  ์กฐํ•ฉ ์ฐพ๊ธฐ 2๏ธโƒฃ ์•ž์„œ 1๏ธโƒฃ์—์„œ ์ •ํ•œ ์ง€์ ์— ๋ฒฝ์„ ์„ธ์šฐ๊ณ  ๋ฐ”์ด๋Ÿฌ์Šค ์ „ํŒŒ 3๏ธโƒฃ ๊ฐ€์žฅ ๋„“์€ ์•ˆ์ „์ง€๋Œ€์˜ ๋ฒ”์œ„ ์ถœ๋ ฅ 2) ๋ฌธ์ œํ•ด๊ฒฐ ๋ฐฉ๋ฒ• BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์กฐํ•ฉ(combination)์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ์™€ ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด ํ’€์–ด๋ดค์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ๋‚˜๋ˆ„์–ด ..

[DFS] ๋ฐฑ์ค€#14502: ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ/Python ํ’€์ด

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/14888 14888๋ฒˆ: ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(2 ≤ N ≤ 11)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A1, A2, ..., AN์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 100) ์…‹์งธ ์ค„์—๋Š” ํ•ฉ์ด N-1์ธ 4๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ฐจ๋ก€๋Œ€๋กœ ๋ง์…ˆ(+)์˜ ๊ฐœ์ˆ˜, ๋บ„์…ˆ(-)์˜ ๊ฐœ์ˆ˜, www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. \(N\)๊ฐœ์˜ ์ˆซ์ž์˜ ์ˆœ์„œ๋Š” ๊ณ ์ •์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ชจ๋“  ์—ฐ์‚ฐ์ž ์กฐํ•ฉ์œผ๋กœ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์—ฐ์‚ฐ ๊ฒฐ๊ด๊ฐ’์˜ ์ตœ์†Ÿ๊ฐ’, ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ’ป ์ฝ”๋“œ 1) ์ „์ฒด ์ฝ”๋“œ import sys; input = sys.stdin.readline def solve(i, r..

[DFS] ๋ฐฑ์ค€#14501: ํ‡ด์‚ฌ/Python

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/14501 14501๋ฒˆ: ํ‡ด์‚ฌ ์ฒซ์งธ ์ค„์— ๋ฐฑ์ค€์ด๊ฐ€ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ต์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP)๋กœ๋„ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. DP ๊ด€๋ จ ํ’€์ด๋Š” ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด ์ฃผ์‹œ๊ณ , ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” DFS ๊ธฐ๋ฐ˜ ํ’€์ด๋งŒ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด์˜ ํ•ต์‹ฌ์€ ์ƒ๋‹ด ์ˆ˜์ˆ˜๋ฃŒ๋Š” ๋‚ฎ์€๋ฐ ์ƒ๋‹ด ์†Œ์š”์ผ์ด ๊ธด ๊ทผ๋ฌด์ผ์€ ๊ทผ๋ฌด๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ทผ๋ฌด ๊ฐ€๋Šฅ์ผ์ด \(4\)์ผ ๋‚จ์•˜๊ณ  ์ƒ๋‹ด ์ˆ˜์ˆ˜๋ฃŒ์™€ ์†Œ์š”์ผ์ด ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ์ฃผ์–ด์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฌด์ผ Day 1 Day 2 Day 3 Day 4 ์ƒ๋‹ด ์ˆ˜์ˆ˜๋ฃŒ 20 30 40 50 ์ƒ๋‹ด ์†Œ์š”์ผ 2 3 4 5 ..

[DFS] ๋ฐฑ์ค€#14500: ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ/Python

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/14500 14500๋ฒˆ: ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋ž€ ํฌ๊ธฐ๊ฐ€ 1×1์ธ ์ •์‚ฌ๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์„œ ๋ถ™์ธ ๋„ํ˜•์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์€ ์„œ๋กœ ๊ฒน์น˜๋ฉด ์•ˆ ๋œ๋‹ค. ๋„ํ˜•์€ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€ www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. DFS๋ฅผ ํ†ตํ•ด ํŠน์ • ์ขŒํ‘œ์— ์ƒํ•˜์ขŒ์šฐ ๋ฐฉ๋ฉด์œผ๋กœ 3๊ฐœ์˜ ๋ธ”๋ก์„ ์ด์–ด ๋ถ™์ด๋ฉด 'ใ…', 'ใ…“', 'ใ…—', 'ใ…œ' ๋ชจ์–‘์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 'ใ…', 'ใ…“', 'ใ…—', 'ใ…œ' ๋ชจ์–‘์˜ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ๋Š” 2๋ฒˆ์งธ ๋ธ”๋ก๊นŒ์ง€ ๋ถ™์˜€์„ ๋•Œ ์ƒˆ๋กœ์šด ๋ธ”๋ก์—์„œ ์ด์–ด๋ถ™์ผ ๋‹ค์Œ ๋ธ”๋ก์„ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ๊ธฐ์กด ๋ธ”๋ก ์œ„์น˜์—์„œ ํƒ์ƒ‰ํ•˜๋„๋ก ๋กœ์ง..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฑ์ค€#13458: ์‹œํ—˜ ๊ฐ๋…/Python

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/13458 13458๋ฒˆ: ์‹œํ—˜ ๊ฐ๋… ์ฒซ์งธ ์ค„์— ์‹œํ—˜์žฅ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ์‹œํ—˜์žฅ์— ์žˆ๋Š” ์‘์‹œ์ž์˜ ์ˆ˜ Ai (1 ≤ Ai ≤ 1,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” B์™€ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ํŒŒ์ด์ฌ์—์„œ ๋ชซ์„ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ž(//)๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‹œํ—˜์žฅ๋งˆ๋‹ค ์ด๊ฐ๋…๊ด€์ด ๊ฐ๋…ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์›์„ ์ œ์™ธํ•˜๊ณ , ์—ฌ๊ธฐ์„œ ๋ถ€๊ฐ๋…๊ด€์ด ๊ฐ๋…ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์›๋งŒํผ ๋‚˜๋ˆ„์–ด ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ถ€๊ฐ๋…๊ด€ ์ˆ˜๋ฅผ 1 ์ถ”๊ฐ€ํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ป ์ „์ฒด ์ฝ”๋“œ import sys; input = sys.stdin.re..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜(๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ ์†Œ์Šค์ฝ”๋“œ)

์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ฃฌ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ์Šต๋ฌธ์ œ์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. heytech.tistory.com/44 [์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! (์—ฐ์Šต๋ฌธ์ œ ํฌํ•จ) ์˜ค๋Š˜์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋”” ์ฒซ ๋ฒˆ์งธ ํฌ์ŠคํŒ…์œผ๋กœ์„œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜์ฃ ! 1. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ๊ทธ๋ฆฌ๋””(Greedy)๋Š” ๊ทธ๋ฆผ 1 ์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ๋“ฏ์ด ์‚ฌ์ „ heytech.tistory.com 1. ์—ฐ์Šต๋ฌธ์ œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ ๋ฌธ์ œ๋Š” ๊ฑฐ์Šค๋ฆ„๋ˆ ๊ณ„์‚ฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Q. ๋‹น์‹ ์€ ์นดํŽ˜์˜ ๊ณ„์‚ฐ์„ ๋„์™€์ฃผ๋Š” ์ง์›์ด๋ฉฐ ์นด์šดํ„ฐ์—๋Š” ๊ฑฐ์Šค๋ฆ„๋ˆ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ™”ํ๋กœ์„œ 500์›, 100์›, 50์›, 10์›์งœ๋ฆฌ ๋™์ „์ด ๋ฌดํ•œํžˆ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์†๋‹˜์—๊ฒŒ ์ œ..

๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ดํ•ด(Python ์˜ˆ์ œ ํฌํ•จ)

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. 1. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ๊ทธ๋ฆฌ๋””(Greedy)๋Š” ๊ทธ๋ฆผ 1 ์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ๋“ฏ์ด ์‚ฌ์ „์  ์˜๋ฏธ๋กœ์„œ "ํƒ์š•์Šค๋Ÿฌ์šด"์ด๋ผ๋Š” ๋œป์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆผ 2 ์ฐธ๊ณ ). ์ฆ‰, ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ํƒ์š•์Šค๋Ÿฝ๊ฒŒ ํ’€์–ด๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ "ํƒ์š•์Šค๋Ÿฌ์šด"์ด๋ผ๋Š” ๋ง์€ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฃผ์–ด์ง„ ์ƒํ™ฉ์—์„œ ์ตœ์„ ์˜ ์˜ต์…˜๋งŒ ์„ ํƒํ•˜๋ฉฐ ํ˜„์žฌ์˜ ์„ ํƒ์ด ํ–ฅํ›„์— ๋ฏธ์น  ์˜ํ–ฅ์€ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. 2. ํŠน์ง• ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์—์„œ๋Š” ์ฃผ๋กœ "๊ฐ€์žฅ ํฐ ์ˆซ์ž ์ˆœ์„œ๋Œ€๋กœ" ํ˜น์€ "๊ฐ€์žฅ ์งง์€ ๊ฒฝ๋กœ ์ˆœ์œผ๋กœ"์™€ ๊ฐ™์€ ์กฐ๊ฑด์„ ์ œ์‹œํ•ด ์ค๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์กฐ๊ฑด์€ ๋Œ€์ฒด๋กœ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์„ธํŠธ๋กœ ์ฃผ์–ด์ง€๋Š” ..