자료구조 및 알고리즘/프로그래머스

프로그래머스 - 두 개 뽑아서 더하기 (파이썬)

viamemine 2024. 4. 11. 16:07
728x90
반응형

 

 

 


 

💬 내가 작성한 python 코드 

def solution(numbers):
    # 서로 다른 인덱스에 있는 두 수 뽑아서 배열 만들기
    # 오름차순으로 정렬
    answer = []
    for i in range(len(numbers)-1):
        for j in range(i+1, len(numbers)):
            answer.append(numbers[i] + numbers[j])
    
    answer = set(answer) # 중복이 없게 만들기 
    answer = sorted(answer) # set 정렬
    return answer

 

 


 

💬 다른 사람이 작성한 코드 

def solution(numbers):
    answer = []
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            answer.append(numbers[i] + numbers[j])
    return sorted(list(set(answer)))

 

 


 

내가 작성한 코드가 다른 사람이 작성한 코드와 거의 동일하다.

이 문제를 통해 얻을 수 있는 것은, python에서 정렬방법으로 간주된다. 

 

python에서 list를 정렬하는 방법은 다음과 같다. 헷갈리지 않게 기억하자 ! 

 

두 정렬방법에 차이점이 존재한다. (sort() vs sorted() 알아보자 !)

 

1. list.sort() - list.sort(reverse=False) # 오름차순 
- 리스트형의 method

- 리스트의 원본 값을 직접 수정한다

 

2. sorted(list)

- 내장 함수

- 리스트 원본 값은 그대로이고 정렬 값을 반환한다. 

 

 

 

 

728x90