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

Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (Python) ๊ตฌ๋ช…๋ณดํŠธ (lv.2, ๊ทธ๋ฆฌ๋””)

๊ฐ์ž ๐Ÿฅ” 2023. 2. 8. 21:30
๋ฐ˜์‘ํ˜•

๋„ค,, ์ธ๋„ค์ผ์ด ๊ฑฐ์ง“๋ง์น˜๋„ค์š”.. ๋ฌธ์ œ๋Š” ํŒŒ์ด์ฌ์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค! ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์Šค์œ„ํ”„ํŠธ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์•„์„œ์š” ใ… ใ…  ์ฐธ๊ณ ๋งŒ ํ•ด์ฃผ์„ธ์š”!

 

๐ŸŸ  ๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/42885?language=python3 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๐ŸŸ  ๋‚˜์˜ ํ’€์ด

์Œ,, ๊ทธ๋ฆฌ๋””! ๋ผ๊ณ  ์•Œ๊ณ  ํ‘ธ๋‹ˆ๊นŒ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๋””๊ฐ€ ์ข‹์€๊ฑด ์ข‹์€๋Œ€๋กœ ๋จผ์ € ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๊ทธ๋Ÿฐ ํƒ์š•์Šค๋Ÿฌ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์ž–์•„์šค? ๊ทธ๋‹ˆ๊นŒ ์ž…๋ ฅ๋ฐ›๋Š” people์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ค€ ๋’ค์—, ์•ž๊ณผ ๋’ค๋ฅผ ๋”ํ•ด๋‚˜๊ฐ€๋ฉด์„œ limit์™€ ๋น„๊ตํ•ด์คฌ๋‹ค.

์ฒ˜์Œ์— ๋ณดํŠธ์— ์ตœ๋Œ€ ๋‘๋ช…๋งŒ ํƒˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ชป๋ด์„œ,,, ํ—›์ฝ”๋”ฉํ•œ๊ฑด ๋น„๋ฐ€์ด๋‹ค ํ•˜.. ์กฐ๊ฑด์„ ์ž˜๋ณด์ž ใ… ใ…  ์•ž์œผ๋กœ ์กฐ๊ฑด์„ ์ „๋ถ€ ์ ์œผ๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ์ฝ์–ด์•ผ๊ฒ ๋‹ค. ์‚ฌ์†Œํ•œ ์กฐ๊ฑด์„ ๋†“์ณ์„œ ํ—›์ฝ”๋”ฉํ•˜๋Š” ์ผ์ด ๋„˜ ๋งŽ์•„! 

์ธ๋ฑ์Šค๋กœ ๋ฐฐ์—ด์— ์ ‘๊ทผํ•ด์ฃผ์—ˆ๊ณ , start์™€ end ์ธ๋ฑ์Šค๋ฅผ 0๋ฒˆ๊ณผ ๋๋ฒˆ์œผ๋กœ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ start์™€ end๋ฅผ ๋”ํ•ด์„œ limit๋ณด๋‹ค ์ž‘๋‹ค๋ฉด? answer์— 1์„ ๋”ํ•ด์ฃผ์—ˆ๊ณ , ๋”ํ•จ๊ณผ ๋™์‹œ์— start์™€ end์— ๊ฐ๊ฐ -1, +1์„ ํ•ด์„œ ๋‹ค์Œ ์ธ๋ฑ์Šค๋ฅผ ํ›‘์–ด๋ณด๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค.

๋งŒ์•ฝ limit๋ณด๋‹ค ํฌ๋‹ค๋ฉด??? endํ˜ผ์ž ํƒ‘์Šนํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด๋ฏ€๋กœ, answer์— +1์„ ํ•ด์ฃผ๊ณ  end์—๋งŒ -1์„ ํ•ด์ฃผ์—ˆ๋‹ค . ์ด๋ ‡๊ฒŒ ์–‘์ชฝ์—์„œ ๋ฐ”๋ผ๋ณด๋ฉด์„œ ์ธ๋ฑ์Šค๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ€๋‹ค๊ฐ€ ๋‘๊ฐœ์˜ ์ธ๋ฑ์Šค๊ฐ€ ๋งŒ๋‚˜๋Š” ์ง€์ ๊นŒ์ง€ while๋ฌธ์„ ๋Œ๋ ค์ฃผ๋ฉด ๋˜์ง€ ์•Š์„๊นŒ? ํ›„ํ›„,,

์ƒ๊ฐํ•˜๋ฉด์„œ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ ๋‚ด๊ฐ€ ๊ทธ๋ฆฐ ๊ธฐ๋ฆฐ ๊ทธ๋ฆผ

๐ŸŸ  ์ •๋‹ต ์ฝ”๋“œ

์˜ค๋žœ๋งŒ์— ํŒŒ์ด์ฌ์œผ๋กœ ํ’€์—ˆ๋‹ค. ํŒŒ์ด์ฌ ๊ฐ„๋‹จํ•˜์ž–์•„ ์—ญ์‹œ!

def solution(people, limit):
    answer = 0
    start = 0
    end = len(people) - 1
    people.sort()
    
    while start <= end:
        answer += 1
        if people[start] + people[end] <= limit:
            start += 1
        end -= 1
    
    return answer

 

๋ฐ˜์‘ํ˜•