Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

Algorithm/Programmers 55

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„ (level 1)

๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/77484/ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„ ๋กœ๋˜ 6/45(์ดํ•˜ '๋กœ๋˜'๋กœ ํ‘œ๊ธฐ)๋Š” 1๋ถ€ํ„ฐ 45๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ 6๊ฐœ๋ฅผ ์ฐ์–ด์„œ ๋งžํžˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ณต๊ถŒ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๋กœ๋˜์˜ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. 1 ์ˆœ์œ„ ๋‹น์ฒจ ๋‚ด์šฉ 1 6๊ฐœ ๋ฒˆํ˜ธ๊ฐ€ ๋ชจ๋‘ ์ผ์น˜ 2 5๊ฐœ ๋ฒˆํ˜ธ programmers.co.kr ๋‚˜์˜ ํ’€์ด ๋งž์ถ˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์–ด์„œ ๋“ฑ์ˆ˜๋Š” ์ธ๋ฑ์Šค๋กœ ๋ฝ‘์•„์˜จ๋‹ค. lottos์™€ win nums ์‚ฌ์ด์—์„œ ๊ฒน์น˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ํ•ฉ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌํ•œ ๋’ค, ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด ์ตœ์ € ์ˆœ์œ„๋ฅผ ๊ตฌํ•œ๋‹ค. 0์ผ ๊ฒฝ์šฐ์—๋Š” '๋ฌด์กฐ๊ฑด ๋งž์ถ˜๋‹ค'๋ผ๋Š” ์ƒ๊ฐ์œผ๋กœ ์ตœ๊ณ  ์ˆœ์œ„๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์ €์ˆœ์œ„๋กœ ์‚ฐ์ •๋๋˜ ๊ฐฏ์ˆ˜์— 0์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋”ํ•ด์ค€๋‹ค. ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํฐ์ผ“๋ชฌ (level 1)

๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/1845 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฐ์ผ“๋ชฌ ๋‹น์‹ ์€ ํฐ์ผ“๋ชฌ์„ ์žก๊ธฐ ์œ„ํ•œ ์˜ค๋žœ ์—ฌํ–‰ ๋์—, ํ™ ๋ฐ•์‚ฌ๋‹˜์˜ ์—ฐ๊ตฌ์‹ค์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™ ๋ฐ•์‚ฌ๋‹˜์€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ์—ฐ๊ตฌ์‹ค์— ์žˆ๋Š” ์ด N ๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ์ข‹๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. programmers.co.kr ๋‚˜์˜ ํ’€์ด ํฐ์ผ“๋ชฌ์˜ ์ค‘๋ณต๋˜๋Š” ๊ฐ’์„ ์—†์• ์ค€ ํ›„ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด์ค€๋‹ค. ์ตœ์ข… n๊ฐœ์—์„œ n/2๊ฐœ์˜ ํฐ์ผ“๋ชฌ์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ, n/2 ๊ฐ’์„ ๊ตฌํ•ด์ค€๋‹ค. ์œ„์˜ ๋‘ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๋ช‡ ์ข…๋ฅ˜๋ฅผ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณธ๋‹ค. def solution(nums): have = len(nums)/2 total = set(nums) total_len = len(total) if h..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํƒ์š•๋ฒ•(greedy) - ์ฒด์œก๋ณต

๋ฌธ์ œ๋งํฌ ๋‚˜์˜ ํ’€์ด ์šฐ์„  ์—ฌ๋ถ„์„ ๊ฐ–๊ณ  ์žˆ๋Š” ํ•™์ƒ์ด ๋งŒ์•ฝ ๋„๋‚œ์„ ๋‹นํ–ˆ์„ ๋•Œ๋Š” ์•„๋ฌดํ•œํ…Œ๋„ ๋นŒ๋ ค์ค„์ˆ˜๊ฐ€ ์—†๊ธฐ์— lost์™€ reserve์— ๊ฐ™์€ ์ˆซ์ž๊ฐ€ ์žˆ์œผ๋ฉด ์ œ๊ฑฐ ํ•ด์ฃผ๋Š” ๊ณผ์ •๋ถ€ํ„ฐ ๊ฑฐ์ณค๋‹ค. ์ง‘ํ•ฉ์€ ์ฐจ์ง‘ํ•ฉ์„ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ์›์†Œ๋ฅผ ๋บ„ ์ˆ˜ ์žˆ๊ธฐ์— ๊ฐ„๋‹จํ•˜๊ฒŒ set (์ง‘ํ•ฉ)์„ ์ด์šฉํ–ˆ๋‹ค. for ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด์„œ ์žƒ์–ด๋ฒ„๋ฆฐ ํ•™์ƒ (lost)์„ ํ•œ๋ช…์”ฉ ๋ฝ‘์•„ ๋ณด์•˜๊ณ , ํ•ด๋‹น ํ•™์ƒ์ด reserve์—์„œ ๋นŒ๋ฆด ์ˆ˜์žˆ๋Š”์ง€ ํŒ๋‹จํ–ˆ๋‹ค. ๋งŒ์•ฝ reserve์—์„œ lost์—๊ฒŒ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ๋‹ค๋ฉด, lost ๋ฆฌ์ŠคํŠธ์—์„œ ์‚ญ์ œํ•ด๋ฒ„๋ฆฌ๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณค๋‹ค. ๋งŒ์•ฝ reserve์—์„œ ๋นŒ๋ ค์ค„ ์ˆ˜์—†๋‹ค๋ฉด, ๊ทธ ํ•™์ƒ์€ ์ˆ˜์—…์„ ๋ชป๋“ฃ๋Š” ๊ฒƒ์ด๊ธฐ์— '์ „์ฒดํ•™์ƒ์ˆ˜'์—์„œ -1 ํ•ด์คฌ๋‹ค. (์–ด์ฐจํ”ผ ์ˆ˜์—…๋“ฃ๋Š” ํ•™์ƒ์€ ์ฒ˜์Œ์— n์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.) def solution(n, lost, rese..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์œ„ํด๋ฆฌ์ฑŒ๋ฆฐ์ง€(1์ฃผ์ฐจ) - ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ

๋ฌธ์ œ๋งํฌ ๋ฌธ์ œํ’€์ด countํšŸ์ˆ˜๋ฅผ price์— ๊ณฑํ•ด์ฃผ๋ฉด์„œ total์„ ๊ตฌํ•˜๊ณ  money์™€์˜ ์ฐจ๋ฅผ ๊ตฌํ•œ๋‹ค. ์ฐจ์ด๊ฐ€ ๋งˆ์ด๋„ˆ์Šค๊ฐ€ ๋‚˜์˜ค๋ฉด, ๋ˆ์ด ๋ถ€์กฑํ•˜์ง€ ์•Š๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ 0์„ ๋ฆฌํ„ดํ•œ๋‹ค. def solution(price, money, count): # ๋‚ด์•ผ ํ•  ์ด ๊ธˆ์•ก total = 0 for i in range(1,count+1): total += (price*i) result = total - money if result < 0 : result = 0 return result ๋‹ค๋ฅธ์‚ฌ๋žŒํ’€์ด ๊ฐ„๋‹จํ•˜๋‹ค๊ณ  ์งฏ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ๋‹จ์ˆœํ•œ ์‚ฐ์ˆ ํ‰๊ท ์„ ์ด์šฉํ•ด์„œ ํ‘ผ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๊ฐ€ ๋ˆˆ์— ๋„์—ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋˜๋ฉด ์‹œ๊ฐ„ ๋ณต์žก๋„๋„ ๊ต‰์žฅํžˆ ์ค„์–ด๋“ค๊ณ , ๋น ๋ฅธ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” total ๊ณผ money์˜ ์ฐจ๋ฅผ resu..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ „ํƒ์ƒ‰ - ๋ชจ์˜๊ณ ์‚ฌ (feat. cycle ํ•จ์ˆ˜)

๋ฌธ์ œ๋งํฌ ๋‚˜์˜ ํ’€์ด 1,2,3๋ฒˆ์˜ ๋‹ต๋ณ€์ž๋Š” ๊ทœ์น™์ ์ธ ๋‹ต๋ณ€์„ ์ฐ์Œ --> ๋ฏธ๋ฆฌ ๋‹ต๋ณ€ list๋ฅผ ๊ตฌ์„ฑ 1,2,3๋ฒˆ์˜ ๋‹ต๋ณ€์ž๋Š” ๊ฐ๊ฐ a,b,c์˜ ๋ณ€์ˆ˜๋กœ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•  ๊ฒƒ์ž„ input๋˜๋Š” answers์˜ ๊ธธ์ด๋Š” 10000๊นŒ์ง€ ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Œ. 1๋ฒˆ ๋‹ต๋ณ€์ž๊ฐ€ 5๊ฐœ๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ทœ์น™์„ ํ˜•์„ฑํ•˜๋ฏ€๋กœ, ๊ฐ€์žฅ ์ ์€ ๊ธธ์ด์ธ 1๋ฒˆ ๋‹ต๋ณ€์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ len(answers)์™€ ๊ธธ์ด๋ฅผ ๋งž์ถฐ์ฃผ์—ˆ์Œ. for ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•ด์„œ answers ์˜ ์ •๋‹ต๊ณผ ๋น„๊ต ์ •๋‹ต๋“ค์˜ max๊ฐ’์„ ๊ตฌํ•˜๊ณ  ๋™์ ์ž๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ, for๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ max๊ฐ’๊ณผ ๋™์ผํ•œ ๋‹ต๋ณ€์ž๋ฅผ index๋กœ ์ถ”์ถœ (abc๋กœ ์ง€์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜๋Š” ๋‹ต๋ณ€์„ ์–ป์œผ๋ ค๋ฉด ์ธ๋ฑ์Šค๋กœ ์ถ”์ถœํ•ด์•ผํ•จ) ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ return def solution(answers): a = [1,..

๋ฐ˜์‘ํ˜•