티스토리 뷰

1. 문제

출처 : 프로그래머스

2. 소스코드

def solution(people, limit):

    answer = len(people)

    HeavyIndex = 0 #무거운 사람 순서

    LightIndex = len(people) - 1 #가벼운 사람 순서

 

    people.sort(reverse = True)

    while HeavyIndex <= LightIndex:

        if HeavyIndex == LightIndex:

            return answer

        if people[HeavyIndex] + people[LightIndex] <= limit:

            LightIndex -= 1

            answer -= 1

        HeavyIndex += 1

    return answer

 

3. 고찰

1) 알고리즘

한 번에 2명씩 탈 수 있으므로,

가장 무거운 사람부터 태우며, 가장 가벼운 사람 순서대로 함께 탈 수 있는지 확인하였다.

 

'프로그래밍 > Python' 카테고리의 다른 글

프로그래머스_큰 수 만들기  (0) 2020.10.30
프로그래머스_카펫  (0) 2020.10.30
프로그래머스_기능개발  (0) 2020.10.04
프로그래머스_더 맵게  (0) 2020.10.03
프로그래머스_프린터  (0) 2020.10.01
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함