728x90
๋ฐ์ํ
"""
๋ฌด์ธ๋์ ๊ฐํ ์ฌ๋๋ค์ ๊ตฌ๋ช
๋ณดํธ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค.
๊ตฌ๋ช
๋ณดํธ๋ ์์์ ํ ๋ฒ์ ์ต๋ 2๋ช
์ฉ ๋ฐ์ ํ ์ ์๊ณ , ๋ฌด๊ฒ ์ ํ๋ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๊ฐ [70kg, 50kg, 80kg, 50kg]์ด๊ณ
๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ์ด 100kg์ด๋ผ๋ฉด 2๋ฒ์งธ ์ฌ๋๊ณผ 4๋ฒ์งธ ์ฌ๋์
๊ฐ์ด ํ ์ ์์ง๋ง 1๋ฒ์งธ ์ฌ๋๊ณผ 3๋ฒ์งธ ์ฌ๋์ ๋ฌด๊ฒ์ ํฉ์ 150kg์ด๋ฏ๋ก
๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ์ ์ด๊ณผํ์ฌ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
๊ตฌ๋ช
๋ณดํธ๋ฅผ ์ต๋ํ ์ ๊ฒ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ฌ๋์ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค.
์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ฅผ ๋ด์ ๋ฐฐ์ด people๊ณผ
๊ตฌ๋ช
๋ณดํธ์ ๋ฌด๊ฒ ์ ํ limit๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋,
๋ชจ๋ ์ฌ๋์ ๊ตฌ์ถํ๊ธฐ ์ํด ํ์ํ ๊ตฌ๋ช
๋ณดํธ ๊ฐ์์ ์ต์๊ฐ์
return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
"""
def solution(people, limit):
people.sort()
front, end = 0, len(people)-1
count = 0
while front < end:
if people[front] + people[end] <= limit:
front += 1
end -= 1
count += 1
return count + (1 if front == end else 0)
"""
sortํ์ฌ ํผ ์ด์ ๋ ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋๊ณผ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ด limit๊ฐ ๋์ด๊ฐ๋ค๋ฉด
๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ์ง์ ์ง์ ์ ์๊ธฐ ๋๋ฌธ์ ํผ์ ํ๋ค๊ณ ๊ฐ์ ํ๋ค.
ํ์ง๋ง ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋์ ๊ทธ ๋ค์ ๋ฌด๊ฑฐ์ด ์ฌ๋๊ณผ ์ง์ด ์ง์ด์ง ์ ์๊ธฐ๋๋ฌธ์
๋ณดํธ๋ฅผ ํ์ง ์๊ณ ๊ธฐ๋ค๋ฆฐ๋ค๊ณ ๊ฐ์ ํ๊ณ ๋ง์ง๋ง(end)์ฌ๋๋ง ๋ณดํธ๋ฅผ ํ์ ๋ค.
์ง์ด ์ง์ด์ง๋ค๋ฉด ์ ์ผ ๊ฐ๋ฒผ์ด ์ฌ๋๊ณผ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ํ์ถํ๋ค.
๊ทธ๋์ front + 1, end - 1์ ํด์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ return์์ front์ end๊ฐ ๊ฐ๋ค๋ฉด ๊ทธ์ฌ๋์ ํผ์ ๋จ์๊ธฐ ๋๋ฌธ์
ํผ์์ ๋ฐฐ๋ฅผ ํ๋ค๊ณ ๊ฐ์ ํ๊ณ +1์ ํด์ฃผ์๋ค.
"""
728x90
๋ฐ์ํ
'๐ผ๐ก๐๐ค๐ง๐๐ฉ๐๐ข > ๐๐ง๐ค๐๐ง๐๐ข๐ข๐๐ง๐จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค '์ต๊ณ ์ ์งํฉ' ํ์ด์ฌ ํ์ด (0) | 2023.02.22 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 2018 KAKAO BLIND RECRUITMENT[1์ฐจ] '์บ์' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค ์์ ํ์ '์นดํซ' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค ์์ ํ์ '์ต์์ง์ฌ๊ฐํ' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค '๋ค์ ํฐ ์ซ์' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
๋๊ธ