๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉProgrammers

    [Python | week1-4] ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm) |

    week 1-4 1-1๋ถ€ํ„ฐ ํ˜„์žฌ ๊ธ€(1-4)๊นŒ์ง€ ๋งค๋ฒˆ ์ž‘์„ฑํ•œ ๊ธ€์€ 4์ฃผ์ฐจ, ์ฆ‰ week 4๊นŒ์ง€ ์ž‘์„ฑ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค School ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ์ฝ”ํ…Œ ์ค€๋น„ ๊ฐ•์˜๋กœ ๋ณธ ๊ณผ์ •์„ ๋”์šฑ ๊นŠ์ด ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์Šค์Šค๋กœ ์ž‘์„ฑํ•˜๋Š” ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค week1-2 ์—์„œ ํ•™์Šตํ•œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋˜ ๋‹ค์‹œ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค! 2023.01.13 - [๐Ÿ“‚Language/Python] - [Python | week1-2] Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค [Python | week1-2] Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค week1-2 [์˜ค๋Š˜์˜ ํ•™์Šต] 1. Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋… 2. '์ฒด์œก๋ณต' ๋ฌธ์ œ ํ’€์ด 3. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ถ”์ฒœ ํ•™์Šต 1. Greedy Algorithm ๊ฐœ๋… ์ด๋ฆ„๊ณผ ๊ฐ™์ด ํƒ์š•์Šค๋Ÿฌ์šด ..

    [Python | week1-3] ์ •๋ ฌ | Sort ํ•จ์ˆ˜ | divmod ํ•จ์ˆ˜ | ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    Week1-3 [์˜ค๋Š˜์˜ ํ•™์Šต] 1. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(sort, sorted ํ•จ์ˆ˜) 2. divmod ํ•จ์ˆ˜ 3. ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ~ํ˜ผ์žฃ๋ง~ ๋ฐฑ์ค€์ด ์ต์ˆ™ํ•ด์„œ์ธ์ง€ ์•„๋‹ˆ๋ฉด ๋ฌด์–ธ๊ฐ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ๋œ๋‹ค๋Š” ๊ฐ•๋ฐ• ๊ด€๋… ๋•Œ๋ฌธ์ธ์ง€ ์š”์ฆ˜ ๋ฌธ์ œ๊ฐ€ ์ž˜ ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค ๋ฌธ์ œ ํ•ด๊ฒฐ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด "์™€ ์ด๊ฑฐ๋‹ค" ์‹ถ์€๋ฐ ๋ง‰์ƒ ์Šค์Šค๋กœ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋ง‰๋ง‰ํ•˜๊ณ  ๋‹ต๋‹ตํ•˜๋‹ค ์ด์ „์—๋„ ์ด๋Ÿฐ ๊ฒฝํ—˜์ด ์žˆ๋Š”๋ฐ, ๊พธ์ค€ํžˆ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ํ•ด๊ฒฐ ํ๋ฆ„์„ ์Šค์Šค๋กœ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฆฌ๋ผ ๋ฏฟ์–ด ์˜์‹ฌ์น˜ ์•Š๋Š”๋‹ค 1. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(sort, sorted ํ•จ์ˆ˜) ์ •๋ ฌ์€ ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ถ„๋“ค๋„ ์ž˜ ์•„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์ง€๋งŒ Python์˜ ๋‚ด์žฅํ•จ์ˆ˜ Sort์™€ Sorted๋ฅผ ํ•จ๊ป˜ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž ํŒŒ์ด์ฌ์ด ์ œ๊ณตํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ..

    [Python | week1-2] Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค

    week1-2 [์˜ค๋Š˜์˜ ํ•™์Šต] 1. Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋… 2. '์ฒด์œก๋ณต' ๋ฌธ์ œ ํ’€์ด 3. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ถ”์ฒœ ํ•™์Šต 1. Greedy Algorithm ๊ฐœ๋… ์ด๋ฆ„๊ณผ ๊ฐ™์ด ํƒ์š•์Šค๋Ÿฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋ˆˆ์•ž์— ๋†“์ธ ์„ ํƒ์ง€ ์ค‘ ํ•ญ์ƒ ๋” ์ข‹์€ ๊ฒƒ์„ ์„ ํƒํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค - ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ๊ธฐ๋ณธ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. (ํ•˜์ง€๋งŒ ์‰ฝ๋‹ค๋Š” ๊ฒƒ์„ ์•„๋‹˜) - ํ˜„์žฌ์˜ ์ตœ์  ๊ฐ’์ด ์ตœ์ข… ์ตœ์  ๊ฐ’์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ํ•œ ๋ฒˆ ํ•œ ์„ ํƒ์„ ์ทจ์†Œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. - ๋„์ถœ ๋œ ๊ฐ’์ด ํ•ด๋‹น ๋ฌธ์ œ์˜ ์ตœ์ ๊ฐ’์ธ์ง€๋Š” ์•Œ ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ( ๊ทธ๋ž˜์„œ NP-Hard์—์„œ ์ž์ฃผ ์‚ฌ์šฉ ๋จ) 2. ๋ฌธ์ œ ํ’€์ด ์•„์‰ฝ๊ฒŒ๋„ ๊ณต๊ฐœ๋œ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์–ด๋–ค ๋ฌธ์ œ ์ธ์ง€ ์œ ์ถ”ํ•  ์ˆ˜ ์—†๋„๋ก ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์›์น™์ด๋ผ ๋ฌธ์ œ ์„ค๋ช…์€ ์—†์Šต๋‹ˆ๋‹ค. ํ’€์ด..

    [Python | week1-1] Hash ์ž๋ฃŒ๊ตฌ์กฐ | accumulate ํ•จ์ˆ˜ | enumerate ํ•จ์ˆ˜ | counter ํ•จ์ˆ˜

    week1-1 ํ•™์Šต ๋‚ด์šฉ 1. [์ž๋ฃŒ๊ตฌ์กฐ] Hash 2. enumerate ํ•จ์ˆ˜ 3. accumalate ํ•จ์ˆ˜ 4. counter ํ•จ์ˆ˜ 1. [์ž๋ฃŒ๊ตฌ์กฐ] Hash Python์—์„œ Hash ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋Š” key-value๊ฐ’์„ ์Œ์œผ๋กœ ๊ฐ–๋Š”๋‹ค. key๊ฐ’์€ ์ž๋ฃŒํ˜•์ด ๋‹ฌ๋ผ๋„ ๊ณต์กดํ•  ์ˆ˜ ์žˆ๋‹ค. key๊ฐ’๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ value์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ์ˆœ์„œ๋กœ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž - ์กฐํšŒ - ์ž…๋ ฅ - ์‚ญ์ œ 1) get ํ•จ์ˆ˜ dic = {"BTS": "๋ฐฉํƒ„์†Œ๋…„๋‹จ", "๋น„๋ฐ€๋ฒˆํ˜ธ": 4313} print(dic.get("๋น„๋ฐ€๋ฒˆํ˜ธ")) #4313 2) [] dic = {"BTS": "๋ฐฉํƒ„์†Œ๋…„๋‹จ", "๋น„๋ฐ€๋ฒˆํ˜ธ": 4313} print(dic["๋ฐฉํƒ„์†Œ๋…„๋‹จ"]) #{"..