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

๋ชฉ๋ก๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ (2)

DATA101

Greedy์•Œ๊ณ ๋ฆฌ์ฆ˜ #๋ฐฑ์ค€11399 #ATM | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/11399 11399๋ฒˆ: ATM ์ฒซ์งธ ์ค„์— ์‚ฌ๋žŒ์˜ ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ์‚ฌ๋žŒ์ด ๋ˆ์„ ์ธ์ถœํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ Pi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ์†Œ์š”์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์ ์€ ์‚ฌ๋žŒ์„ ๋งจ ์•ž ์ˆœ์„œ๋กœ ๋ณด๋‚ด๋ฉด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. N๋ช…์˜ ATM ์ด์šฉ ์ด ์‹œ๊ฐ„์€ ๊ฐ ์‚ฌ๋žŒ๋งˆ๋‹ค ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ์†Œ์š” ์‹œ๊ฐ„์„ ํ•ฉํ•œ ๊ฐ’๋“ค์„ ํ•ฉ๊ณ„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ฒซ ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ p1 ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ณ , ๋‘ ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ p1 + p2, ... N๋ฒˆ์งธ ์‚ฌ๋žŒ์€ p1 + p2 + ... pN์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ N๋ช…์ด ๋ชจ๋‘ ATM์„ ์ด์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด "p1*N + ..

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

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