-
[💕 프로그래머스] 구명보트Algorithm/1일 1코테 2020. 12. 16. 16:20반응형
문제
programmers.co.kr/learn/courses/30/lessons/42885
답
def solution(people, limit): count = 0 people.sort() while people: p = people.pop(-1) for i, v in enumerate(people): if p+v > limit: break else: people.pop(i) break count += 1 return count
테스트케이스는 통과하지만 효율성 1번에서 자꾸 시간초과로 실패함
아무래도 pop을 사용해서 그런 것 같아 비슷한 알고리즘이되 다른 방식으로 수정
def solution(people, limit): count = 0 people.sort() r = len(people)-1 l = 0 while l <= r : if people[r] + people[l] > limit: r-=1 else: r -= 1 l += 1 count += 1 return count
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[💕 프로그래머스] 소수 찾기 (0) 2020.12.19 [💕 프로그래머스] 가장 큰 수 (0) 2020.12.18 [💕 프로그래머스] 스킬트리 (0) 2020.12.15 [💕 프로그래머스] 최솟값 만들기 (0) 2020.12.15 [💕 프로그래머스] 숫자의 표현 (0) 2020.12.07