Programmers : ๊ตฌ๋ช…๋ณดํŠธ

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ”’ Programmers : ๊ตฌ๋ช…๋ณดํŠธ


ํ•œ ๋ฐฐ์— ์ตœ๋Œ€ 2๋ช…๊นŒ์ง€ ํƒˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์กฐ๊ฑด์„ ๋ชป ๋ด์„œ ์‚ฝ์งˆ์„ ๋งŽ์ด ํ–ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ๊ผผ๊ผผํžˆ ๋ณด๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

์ฒ˜์Œ์—” ๋‹จ์ˆœํžˆ ํฐ ์ˆœ์„œ๋‚˜ ์ž‘์€ ์ˆœ์„œ๋กœ ๋ฐฐ์— ํƒœ์›Œ๋ดค์ง€๋งŒ ํ’€๋ฆฌ์ง€ ์•Š์•˜๋‹ค.

๊ทธ๋ž˜์„œ ๋‚จ์•„์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘ ์ œ์ผ ํฐ ๋ฌด๊ฒŒ์™€ ์ œ์ผ ์ž‘์€ ๋ฌด๊ฒŒ๋ฅผ ๊ฐ™์ด ํƒœ์›Œ๋ณด๋‹ค๊ฐ€ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜๋‹ค.


๐Ÿ”‘ ์ฝ”๋“œ

def solution(people, limit):
    answer = 0
    people.sort(reverse = True)
    l, r = 0, len(people)-1
    while l <= r:
        if limit >= people[l] + people[r]:
            l += 1
            r -= 1
        else:
            l += 1
        answer += 1

    return answer

์‚ฌ๋žŒ๋“ค์„ ๋ฌด๊ฒŒ๊ฐ€ ๋งŽ์ด ๋‚˜๊ฐ€๋Š” ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค,

๋‚จ์•„์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘, ๋งจ ์•ž ์‚ฌ๋žŒ(l) ๊ณผ ๋งจ ๋’ท์‚ฌ๋žŒ(r)์˜ ๋ฌด๊ฒŒ ํ•ฉ์„ ๋ณด๊ณ , ์ œํ•œ ๋ฌด๊ฒŒ(limit) ์ดํ•˜์ด๋ฉด ํ•œ ๋ฐฐ์— ํƒœ์›Œ ๋ณด๋‚ธ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋งจ ์•ž ์‚ฌ๋žŒ๋งŒ ๋ณด๋‚ธ๋‹ค.

์ด ๊ณผ์ •์„ ์‚ฌ๋žŒ์ด ๋‚จ์•„์žˆ์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€(l<=r) ๋ฐ˜๋ณตํ•œ๋‹ค.

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ