programmers/ 21.02.02 Lifeboat

sooheeยท2021๋…„ 2์›” 7์ผ
0

์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ๋ก ๋ณด๊ธฐ
20/20
post-thumbnail

๐Ÿ’œ ๋ฌธ์ œ ์„ค๋ช…

๋ฌธ์ œ์„ค๋ช…

๋ฌด์ธ๋„์— ๊ฐ‡ํžŒ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ช…๋ณดํŠธ๋Š” ์ž‘์•„์„œ ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 2๋ช…์”ฉ ๋ฐ–์— ํƒˆ ์ˆ˜ ์—†๊ณ , ๋ฌด๊ฒŒ ์ œํ•œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ [70kg, 50kg, 80kg, 50kg]์ด๊ณ  ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์ด 100kg์ด๋ผ๋ฉด 2๋ฒˆ์งธ ์‚ฌ๋žŒ๊ณผ 4๋ฒˆ์งธ ์‚ฌ๋žŒ์€ ๊ฐ™์ด ํƒˆ ์ˆ˜ ์žˆ์ง€๋งŒ 1๋ฒˆ์งธ ์‚ฌ๋žŒ๊ณผ 3๋ฒˆ์งธ ์‚ฌ๋žŒ์˜ ๋ฌด๊ฒŒ์˜ ํ•ฉ์€ 150kg์ด๋ฏ€๋กœ ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์—ฌ ๊ฐ™์ด ํƒˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ตฌ๋ช…๋ณดํŠธ๋ฅผ ์ตœ๋Œ€ํ•œ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ๊ตฌ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด people๊ณผ ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ limit๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์‚ฌ๋žŒ์„ ๊ตฌ์ถœํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ตฌ๋ช…๋ณดํŠธ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

โ–ช ย  ๋ฌด์ธ๋„์— ๊ฐ‡ํžŒ ์‚ฌ๋žŒ์€ 1๋ช… ์ด์ƒ 50,000๋ช… ์ดํ•˜์ž…๋‹ˆ๋‹ค.
โ–ช ย  ๊ฐ ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ๋Š” 40kg ์ด์ƒ 240kg ์ดํ•˜์ž…๋‹ˆ๋‹ค.
โ–ช ย  ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์€ 40kg ์ด์ƒ 240kg ์ดํ•˜์ž…๋‹ˆ๋‹ค.
โ–ช ย  ๊ตฌ๋ช…๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์€ ํ•ญ์ƒ ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ ์ค‘ ์ตœ๋Œ“๊ฐ’๋ณด๋‹ค ํฌ๊ฒŒ ์ฃผ์–ด์ง€๋ฏ€๋กœ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ์ถœํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

peoplelimitreturn
[70, 50, 80, 50]1003
[70, 80, 50]1003

๐Ÿ’œ ์†Œ์Šค์ฝ”๋“œ

    def solution(people, limit):
    cnt = 0
    people.sort()
    min = 0
    max = len(people)-1
    while min <= max :
        cnt += 1       
        if people[min] + people[max] <=limit:
            min += 1
            max -= 1  
        else :
            max -=1  
    return cnt

๐Ÿ’œ ๋‚ด ๋ตํ‚น๋ตํ‚น

์ผ๋‹จ ์ตœ๋Œ€ 2๋ช… ๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ, ๊ฐ€์žฅ ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋‹ค. ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์ด๋ผ ํ•จ์€, ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ํฐ ์ˆ˜์™€ ์ง์ง€์–ด์„œ ๋‚˜๊ฐ€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋ž˜์„œ ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ์ผ๊ณ , ๋งŒ์กฑํ•˜์ง€ ๋ชปํ–ˆ์„ ๊ฒฝ์šฐ์—, index๋ฅผ ์•ž๋’ค๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด์„œ cnt๋ฅผ ์„ธ์ฃผ์—ˆ๋‹ค.
์งœ๊ณ  ๋‚˜์„œ ๋ณด๋‹ˆ, if๋ฌธ์— max = -1 ๊ณผ else๋ฌธ์— max = -1 ์ด ๊ณตํ†ต์ ์ด๋ผ, ์ด๋Š” else๋ฅผ ์ง€์šฐ๊ณ  if๋ฌธ ๋ฐ–์— max = -1 ๋กœ ํ†ต์ผ ์‹œํ‚ค๋ฉด ๋” ์ข‹์•˜์„ ๊ฑธ ์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

profile
๐Ÿปโ€โ„๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€