https://programmers.co.kr/learn/courses/30/lessons/68644
def solution(numbers):
answer = [numbers[i] + numbers[j] for i in range(len(numbers)-1) for j in range(i+1,len(numbers))]
return list(set(sorted(answer)))
처음에는 다음과 같이 했는데 테스트케이스 4,5번이 오답이었다. 그래서 set의 정렬부분을 검색해보니 set은 기존 리스트의 순서를 고려하지 않고 중복만을 제거하기 때문에 정렬을 하고 set을 하면 순서가 바뀌게 된다. 그러니 set으로 중복을 먼저 없애고 다시 정렬을 해야함!
# 수정 후
def solution(numbers):
answer = [numbers[i] + numbers[j] for i in range(len(numbers)-1) for j in range(i+1,len(numbers))]
return sorted(list(set(answer)))
'알고리즘' 카테고리의 다른 글
백준 7576번 : 토마토(python) (0) | 2021.07.26 |
---|---|
백준 1600번 : 말이 되고픈 원숭이(Python) (0) | 2021.06.20 |
programmers 완주하지 못한 선수(Python) (0) | 2021.06.09 |
programmers 타겟 넘버(Python) (0) | 2021.06.06 |
programmers 키패드 누르기(Python) (0) | 2021.06.06 |