Programmers : ๊ตฌ๋ช ๋ณดํธ
๐ 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) ๋ฐ๋ณตํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ