๐Ÿ“๋ฌธ์ œ ํ’€์ด

    [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)]) ํ–ˆ๋Š”๋ฐ ์™„์ „ํžˆ ํ—ˆํŠผ..

    [Python] 10989 ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3 | ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ | ์‹œ๊ฐ„ ์ดˆ๊ณผ

    ~๋ธŒ๋ก ์ฆˆ 1~ ๋งจ ๋งˆ์ง€๋ง‰์— ์ตœ์ข… ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ—ค๋งค๋ฉฐ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š”์ง€ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ์ฝ์œผ์‹œ๋Š” ๋ถ„๋“ค๋„ ์ €์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ์— ๋ถ€๋”ชํ˜”์„ ๋•Œ ์ด ๊ธ€์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ˜‰ ํ‚ค์›Œ๋“œ #์‹œ๊ฐ„๋ณต์žก๋„ ์ตœ์†Œํ™” #๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ์ตœ์†Œํ™” #3๋ฒˆ์˜ ๋„์ „ (ํ‹€๋ฆฐ) ์ฒซ ๋ฒˆ์งธ ์‹œ๋„๋ฅผ ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๋‹ค n = int(input()) alist = [int(input())] #๋ฆฌ์ŠคํŠธ์— ์ฒซ๋ฒˆ์งธ ๊ฐ’ ๋Œ€์ž… for i in range(n-1): #์ฒ˜์Œ ์ž…๋ ฅ๋ฐ›์€ ํšŒ์ˆ˜ ์ฐจ๊ฐํ•œ ๋งŒํผ ๋ฐ˜๋ณต a = int(input()) count = int(len(alist)) for j in range(count): #๋ฆฌ์ŠคํŠธ์— ๋“ค์–ด์žˆ๋Š” ๊ฐ’ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต if a == alist[j] or a < alist[j]: #์ž…๋ ฅ๋ฐ›์€ ๊ฐ’๊ณผ ๋™์ผํ•˜..

    [Python] ๋ฐฑ์ค€ 2609 ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

    ๋ธŒ๋ก ์ฆˆ 1 ๋ฌธ์ œ (์ •๋‹ต๋งŒ์ด ์•„๋‹Œ ๊ฐœ์ธ์ ์ธ ํ’€์ด ๊ณผ์ •์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค) ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์•ž์„œ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ์ดํ•ดํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์™œ ํ•œ ๋ฌธ์ œ์—์„œ ๋‘ ๊ฐœ๋‚˜ ํ’€์–ด์•ผ ๋ผ? ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” ์ง๊ฟ์ฒ˜๋Ÿผ ๋‹ค๋‹ ์ˆ˜ ์žˆ๋Š” ์นœ๊ตฌ์ž…๋‹ˆ๋‹ค. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด๋ผ๋Š” ๋ญ”๊ฐ€ ๋Œ€๋‹จํ•ด ๋ณด์ด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ €๋Š” ๊ฐœ๋…์„ ์ฐพ์•„๋ณด๊ณ  ์ ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๋‘์ ˆ๋ฏธํ•˜๊ณ  ์ œ๊ฐ€ ์ฐธ๊ณ ํ•œ ๊ฐœ๋…์„ ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฐœ๋…์„ ํ†ตํ•ด ๋‘ ๊ฐœ์˜ ์ž…๋ ฅ๊ฐ’(a, b)์— ๋Œ€ํ•ด ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’(์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, gcd)๊ณผ a/์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ * b/์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ * ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ (์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜, a*b/gcd) ๋„์ถœํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. a, b = list(map(int, input().split())) nu..

    [Python] ๋ฐฑ์ค€ 2566 ์ตœ๋Œ“๊ฐ’ | NameError

    ๊ณผ ๊ฐ™์ด 9×9 ๊ฒฉ์žํŒ์— ์“ฐ์—ฌ์ง„ 81๊ฐœ์˜ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ด๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๊ณ  ๊ทธ ์ตœ๋Œ“๊ฐ’์ด ๋ช‡ ํ–‰ ๋ช‡ ์—ด์— ์œ„์น˜ํ•œ ์ˆ˜์ธ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด 81๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ด๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’์€ 90์ด๊ณ , ์ด ๊ฐ’์€ 5ํ–‰ 7์—ด์— ์œ„์น˜ํ•œ๋‹ค. ์ฒ˜์Œ ์ œ์ถœํ•œ ์ฝ”๋“œ๋ฅผ ๋จผ์ € ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. *ํ‹€๋ฆฐ ์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค maxN = 0 row = 0 col = 0 for i in range(9): nlist = list(map(int, input().split())) for j in range(9): if nlist[j] > maxN: maxN = nlist[j] row = i+1 col = j+1 print(maxN) print(row, end=" ") print(col) ๋ฌด์—‡์ด ์ž˜๋ชป ๋˜์—ˆ..

    [Python] ๋ฐฑ์ค€ 10807 ๊ฐœ์ˆ˜์„ธ๊ธฐ

    input() nlist = list(map(int, input().split())) v = int(input()) count = 0 for n in nlist: if v == n: count += 1 print(count) ๋”ฐ๋กœ ์„ค๋ช…์€ ํ•˜์ง€์•Š๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์„ธ์š”!

    Notion Database

    https://sin-young.notion.site/cbf6c7a3f75546f3a19a5f315d7521ea?v=0e0a79c426664e62ba7dfdd25568560e Baekjoon A new tool for teams & individuals that blends everyday work apps into one. sin-young.notion.site ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฐพ์•„๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.