Python

    [Python] 1783 ๋ณ‘๋“  ๋‚˜์ดํŠธ | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ~์‹ค๋ฒ„ 3~ https://www.acmicpc.net/problem/1783 1783๋ฒˆ: ๋ณ‘๋“  ๋‚˜์ดํŠธ ์ฒซ์งธ ์ค„์— ์ฒด์ŠคํŒ์˜ ์„ธ๋กœ ๊ธธ์ด N์™€ ๊ฐ€๋กœ ๊ธธ์ด M์ด ์ฃผ์–ด์ง„๋‹ค. N๊ณผ M์€ 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net [๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ] 1. ์ œํ•œ ์‚ฌํ•ญ์„ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ 2. n์˜ ์ œํ•œ ์‚ฌํ•ญ ์ดํ•ดํ•˜๊ธฐ 3. m์˜ ์ œํ•œ ์‚ฌํ•ญ ์ดํ•ดํ•˜๊ธฐ 1. ์ œํ•œ ์‚ฌํ•ญ์„ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์ฝ์œผ๋ฉด '... ๋ญ ์–ด์ฉŒ๋ผ๋Š” ๊ฑฐ์•ผ' ํ˜น์€ '์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํ’€๋ผ๋Š” ๊ฑฐ์•ผ'๋ผ๋Š” ์ƒ๊ฐ์„ ํ• ์ง€๋„ ๋ชจ๋ฅธ๋‹ค ๋‚ด๊ฐ€ ๊ทธ๋žฌ๋‹ค ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ฌธ์ œ๋ฅผ ์ฐฌ์ฐฌํžˆ ์‚ดํŽด๋ณด๊ณ  ์ œํ•œ ์‚ฌํ•ญ์„ ๊ผผ๊ผผํžˆ ์‚ดํŽด๋ณด๋ฉฐ์นจ์ฐฉํ•˜๊ฒŒ ์ƒ๊ฐํ•ด ๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋ชจ๋“  ์‹œ์ž‘ ์œ„์น˜๋Š” (0, 0)์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” n๊ณผ m์˜ ํฌ๊ธฐ..

    [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] ๋ฐฑ์ค€ 4796 ์บ ํ•‘ | ๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ํƒ์š•์Šค๋Ÿฌ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ~๋ธŒ๋ก ์ฆˆ 1~ ๋ฌธ์ œ ํ’€์ด์— ์•ž์„œ ์ด์‹ค์ง๊ณ  ํ•˜์ž๋ฉด ๊ตฌํ˜„์ด ์•„๋‹Œ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋ ค๊ณ  ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค. ๋ฌธ์ œ ๋“ฑ์‚ฐ๊ฐ€ ๊น€๊ฐ•์‚ฐ์€ ๊ฐ€์กฑ๋“ค๊ณผ ํ•จ๊ป˜ ์บ ํ•‘์„ ๋– ๋‚ฌ๋‹ค. ํ•˜์ง€๋งŒ, ์บ ํ•‘์žฅ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ๊ณ ๋ฌธ์ด ์“ฐ์—ฌ ์žˆ์—ˆ๋‹ค. ์บ ํ•‘์žฅ์€ ์—ฐ์†ํ•˜๋Š” 20์ผ ์ค‘ 10์ผ๋™์•ˆ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์‚ฐ์ด๋Š” ์ด์ œ ๋ง‰ 28์ผ ํœด๊ฐ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด๋ฒˆ ํœด๊ฐ€ ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ฐ•์‚ฐ์ด๋Š” ์บ ํ•‘์žฅ์„ ๋ฉฐ์น ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๊ฐ•์‚ฐ์ด๋Š” ์กฐ๊ธˆ ๋” ์ผ๋ฐ˜ํ™”ํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ•œ๋‹ค. ์บ ํ•‘์žฅ์„ ์—ฐ์†ํ•˜๋Š” P์ผ ์ค‘, L์ผ๋™์•ˆ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ•์‚ฐ์ด๋Š” ์ด์ œ ๋ง‰ V์ผ์งœ๋ฆฌ ํœด๊ฐ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ฐ•์‚ฐ์ด๊ฐ€ ์บ ํ•‘์žฅ์„ ์ตœ๋Œ€ ๋ฉฐ์น ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ? (1 < L < P < V) ์ž…๋ ฅ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ..

    [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["๋ฐฉํƒ„์†Œ๋…„๋‹จ"]) #{"..

    [Python] ๋ฐฑ์ค€ 1181 ๋‹จ์–ด ์ •๋ ฌ | ๋‚ด์žฅํ•จ์ˆ˜

    ~์‹ค๋ฒ„ 5~ ๋‚ด์žฅ ํƒ€ํŒŒ! ๋‚ด์žฅ ํŒŒ๊ดด! ๋ฌธ์ œ ํ•ด๊ฒฐ์˜ ํฌ์ธํŠธ( ๋‚ด์žฅ ํ•จ์ˆ˜ ) - input ํ•จ์ˆ˜๋Š” ์‹œ๊ฐ„์ด ์งฑ ๋งŽ์ด ๊ฑธ๋ฆฐ๋‹ค - set ํ•จ์ˆ˜๋กœ ์ค‘๋ณต ์ œ๊ฑฐ - sort ํ•จ์ˆ˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• 1. ์‹œ๊ฐ„ ์ค„์ด๊ธฐ | ์‹œ๊ฐ„ ์ดˆ๊ณผ ํ”ผํ•˜๊ธฐ | input ๋Œ€์‹  readline import sys n = int(sys.stdin.readline()) words = [] for _ in range(n): words.append(sys.stdin.readline()) sys ๋ชจ๋“ˆ์„ importํ•˜์—ฌ sys.stdin.readline()์„ ์‚ฌ์šฉํ•˜๋ฉด input()๋ณด๋‹ค ์‹œ๊ฐ„์„ ํ™• ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค..! ์ฒ˜์Œ์— ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๊ณ  (ex. list[[0]*50 for i in range(20000)]) ํ–ˆ๋Š”๋ฐ ์™„์ „ํžˆ ํ—ˆํŠผ..