본문 바로가기

Algorithm

두 개 뽑아서 더하기 / 프로그래머스

 

정답

  • 중복을 제거하기 위해서 set 사용
  • set은 순서가 없기 때문에 정렬을 할 수 없음
  • list를 set으로 변경하면 기존의 순서를 유지하지 않음!
  • 그렇기에 set으로 중복 값을 제거해 준 다음 -> 순서 보장이 안되서 오름차순 유지가 안됨 -> 다시 리스트로 변환 후 정렬
def solution(numbers):
    answer = []
    num = list(numbers)
    for i in range(0, len(num)):
        for j in range(i+1, len(num)):
            answer.append(num[i]+num[j])
    answer.sort()
    set_answer = set(answer)
    answer = list(set_answer)
    answer.sort()
    return answer