til

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
1๏ธโƒฃ ๊ทธ๋ฆฌ๋”” (Greedy) ๋งค์ˆœ๊ฐ„ ๊ฐ€์žฅ ์ข‹์•„๋ณด์ด๋Š” ๊ฒƒ์„ ์„ ํƒํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๊ฐ€๋Š” ๋ฐฉ๋ฒ• ๋ฐฑ์ค€ > 5585 ๊ฑฐ์Šค๋ฆ„๋ˆ 5585๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ ํƒ€๋กœ๋Š” ์ž์ฃผ JOI์žกํ™”์ ์—์„œ ๋ฌผ๊ฑด์„ ์‚ฐ๋‹ค. JOI์žกํ™”์ ์—๋Š” ์ž”๋ˆ์œผ๋กœ 500์—”, 100์—”, 50์—”, 10์—”, 5์—”, 1์—”์ด ์ถฉ๋ถ„ํžˆ ์žˆ๊ณ , ์–ธ์ œ๋‚˜ ๊ฑฐ์Šค๋ฆ„๋ˆ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ๊ฒŒ ์ž”๋ˆ์„ ์ค€๋‹ค. ํƒ€๋กœ๊ฐ€ JOI์žกํ™”์ ์—์„œ ๋ฌผ๊ฑด์„ ์‚ฌ www.acmicpc.net 2๏ธโƒฃ ์™„์ „ ํƒ์ƒ‰ (Brute Force) ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜์— ๋Œ€ํ•ด์„œ ํƒ์ƒ‰ ๋‹จ์ˆœํ•˜์ง€๋งŒ, ์‹œ๊ฐ„๋ณต์žก๋„ ๋†’์•„์งˆ ๊ฐ€๋Šฅ์„ฑ โฌ†๏ธ 3๏ธโƒฃ ์ด์ง„ ํƒ์ƒ‰ (Binary Search) ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์”ฉ ์ขํ˜€๊ฐ€๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ• O(logN)์˜ ์‹œ๊ฐ„๋ณต์žก๋„ 4๏ธโƒฃ ์žฌ๊ท€ (Recursive) ๋ฌธ์ œ์˜ ๋ฒ”์œ„๋ณด๋‹ค ์•ฝ๊ฐ„ ์ข์€ ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ - ๋ฐ˜๋ณต..
1๏ธโƒฃ ํ•ด์‹œ ํ…Œ์ด๋ธ” (Hash Table) Key:Value ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰์ด ์‰ฌ์šด ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ ๋“ฑ์žฅํ•˜๋Š” ๊ฐœ๋…(concept)๋“ค์„ ๊ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋งž์ถฐ์„œ ์ƒˆ๋กญ๊ฒŒ ๋ถˆ๋ฆผ ex. Array(๊ฐœ๋…) - List(ํŒŒ์ด์ฌ), Hash Table(๊ฐœ๋…) - Dictionary(ํŒŒ์ด์ฌ) โœ… Hash Function Key๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ํ•ด๋‹น Value๊ฐ€ ์ €์žฅ๋œ ๊ณณ์„ ์•Œ๋ ค์คŒ *SQL ์ตœ์ ํ™” ๋ฐฉ๋ฒ• '์˜ตํ‹ฐ๋งˆ์ด์ €' ์ฐธ๊ณ  ! 2๏ธโƒฃ ํŠธ๋ฆฌ (Tree) ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ๋ฃจํŠธ(Root, ์ตœ์ƒ์œ„ ๊ณ„์ธต)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์žฌ๊ท€์ ์ธ ๊ตฌ์กฐ ๋น„์„ ํ˜• ๊ตฌ์กฐ โœ… ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜ ์ผ๋ฐ˜ ํŠธ๋ฆฌ, ์ด์ง„ ํŠธ๋ฆฌ, ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ, ํž™ etc โœ… ํŠธ๋ฆฌ์˜ ์—ฐ์‚ฐ ์ถ”๊ฐ€/์‚ญ์ œ, ์ˆœํšŒ(Traversal) โ›” ์—ฌ๊ธฐ์„œ..
1๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์˜๋ฏธ โœ… ์ž…์‚ฌ ์‹œํ—˜์—์„œ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ์ž ๋Šฅ๋ ฅ ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ž๋ฃŒ์™€ ๋…ผ๋ฆฌ๋ฅผ ์ด์š”ํ•œ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๋“ฑ์œผ๋กœ ๊ตฌํ˜„ ex. ์™„์ „ ํƒ์ƒ‰, ์ด์ง„ ํƒ์ƒ‰ โœ… ๋ฐ์ดํ„ฐ ๋ถ„์„, ํ†ต๊ณ„, ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ๋ธ๋ง๊ณผ ๊ทธ ๋ถ„์„ ๊ณผ์ •์—์„œ์˜ ๋ฐฉ๋ฒ•๋ก  ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์œผ๋กœ ๊ตฌํ˜„ ex. ์„ ํ˜•ํšŒ๊ท€, ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ 2๏ธโƒฃ ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋Š” ์ด์œ  ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Š” ์š”์ฒญ์ด๋‚˜ ํ˜‘์—… ์—†์ด, ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค ํˆฌ์—ฌํ•˜์ง€ ์•Š๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋Šฅ๋ ฅ ๊ธฐ๋ฐ˜์œผ๋กœ ์—…๋ฌด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ์—…๋ฌด ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก Q. ์šฐ๋ฆฌ์—๊ฒ ์ฑ—GPT๊ฐ€ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”๋ฐ์š”? ๐Ÿง A. ์ฑ—GPT๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ฒ˜ํ•œ ๋งฅ๋ฝ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ , ์ •๋‹ต๋งŒ ์œ ์‚ฌํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค€๋‹ค. ๋”ฐ๋ผ์„œ ์‘์šฉ..
์–ด์ œ๋Š” ์žฅ์—ผ ์ด์Šˆ๋กœ ์ข€ ๋นจ๋ฆฌ ํ‡ด์‹คํ–ˆ๊ณ , ์˜ค๋Š˜์€ SQL ๊ณผ์ œ P/F ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”๋‹ค. ํŒจ์Šค์˜€๋‹ค. ๊ทธ๋ž˜์„œ ํŒŒ์ด์ฌ ๊ณผ์ œ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. # 1๋ฒˆ ์ฝ”๋“œ ์ž‘์„ฑ def check_inventory(list1, n): over = [] lack = [] for i in list1: if i[1] > n: over.append(i[0]) else: lack.append(i[0]) print('์žฌ๊ณ  ๊ณผ์ž‰: ', over) print('์žฌ๊ณ  ๋ถ€์กฑ: ', lack) # ์žฌ๊ณ  ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ inventory_data = [ ['Apple', 30], ['Banana', 20], ['Orange', 50] ] check_inventory(inventory_data, 20) ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ํ˜ผ๊ณตํŒŒ์™€ ํŒŒ์ด์ฌ ๊ฐ•์˜ ๋•๋ถ„์— ํฐ ์–ด๋ ค์›€์€..
ํ–‰ํŒฝ
'til' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก