programmers.co.kr/learn/courses/30/lessons/42885
์ฒ์์ ํฉ์ ๊ตฌํ๊ณ pop ํ๋ ์์ผ๋ก ์งํํ์ง๋ง... ์๊ฐ์ด๊ณผ๊ฐ ๋ ์ ๊ฒฐ๊ตญ ํ์ด๋ฅผ ๊ฒ์ํด๋ณด์๋คใ ใ
์ง์ list๋ฅผ ์ด๋ป๊ฒ ์กฐ์ํ์ง๋ง๊ณ index๋ง ํ์ฉํ๋ ํ์ด๊ฐ ์์ด์ ์ด์ฉํด์ ํ์ด๋ดค์.... ๊ฐ๊ธธ์ด ๋๋ฌด๋๋ฌด ๋ฉ๋ค..
1. people์ sortํด์ ์ค๋นํฉ๋๋ค
2. ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋ / ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ์ฒดํฌํฉ๋๋ค → light = 0, heavy = len(people)-1
3-1. ๋์ด ๊ฐ์ด ํ ์ ์์ผ๋ฉด ํ์๋๋ค → light +=1, heavy -= 1, two += 1
3-2. ๋์ด ๊ฐ์ด ํ์ง ๋ชป ํ ๊ฒฝ์ฐ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ํผ์ ๋ณด๋ ๋๋ค → heavy -= 1
(๊ฐ๋ฒผ์ด ์ฌ๋์ ๋ค๋ฅธ์ฌ๋๊ณผ ๊ฐ์ด ํ ์ง๋ ๋ชจ๋ฅด๋ฏ๋ก ์ผ๋จ ๋ณด๋ฅ)
4. 3์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค๊ฐ, light < heavy๋ฅผ ๋ฒ์ด๋๋ฉด ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋ฉ๋๋ค
5. ์ ์ฒด ์ฌ๋ ์์์ 2์ธ1์กฐ์ ๊ฐฏ์๋ฅผ ๋นผ์ฃผ๋ฉด ๋ต์ ๋๋ค → len(people) - two
๋ฐ์๋ ์ด๋ฅผ ์ค๋ช ํ ํ์ด
๐โ๏ธ ์์ฑํ ์ฝ๋
def solution(people, limit):
people.sort()
light = 0
heavy = len(people)-1 #people์ ๋ง์ง๋ง ์ธ๋ฑ์ค
two = 0
while light < heavy:
if people[light] + people[heavy] <= limit:
light += 1
two += 1 #๋๋ช
์ด์ ๋๊ฐ ์
heavy -= 1
return len(people)-two
'๐๊ณต๋ถ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 14889๋ฒ ์คํํธ์ ๋งํฌ (0) | 2021.01.07 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ์ผ๊ฐ ๋ฌํฝ์ด (0) | 2021.01.05 |
[๋ฐฑ์ค] 2447๋ฒ ๋ณ์ฐ๊ธฐ-10 (0) | 2020.12.19 |
[๋ฐฑ์ค] 2869๋ฒ ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค (0) | 2020.12.06 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ๋ค์ ํฐ ์ซ์ (0) | 2020.12.05 |
๋๊ธ