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

Mongle·2020년 10월 9일
0

문제

첫번째 접근

def solution(numbers):
    result = []
    
    # 두 수를 뽑아 더하기
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            sum_num = numbers[i]+numbers[j]
            
            # 중복을 제외하고 result에 담기
            if sum_num not in result:
                result.append(sum_num)
    # 오름차순으로 정렬 후 리턴            
    return sorted(result)

리스트에서 중복되지 않게 두 개씩 카드를 뽑는 것과 같은 알고리즘이어서 비교적 간단하게 문제를 풀었다.

✍ <list>.sort()와 sorted(<list>)의 차이

<list>.sort()

  • 원본 리스트를 정렬하고, 리턴값은 None
  • 원본 리스트를 정렬함 (파괴적 함수)
  • 정렬된 새로운 리스트를 만들지 않기 때문에 sorted(<list>)보다 빠름

sorted(<list>)

  • 원본 리스트에 영향을 주지 않고 정렬된 새로운 함수를 반환함 (비파괴적 함수)
  • 모든 iterable한 객체에 사용 가능함(리스트, 튜플, 딕셔너리, 문자열)
    참고자료
profile
https://github.com/Jeongseo21

0개의 댓글

관련 채용 정보