프로그래머스 - LV.1 - 두 개 뽑아서 더하기

박종일·2023년 7월 2일
0

프로그래머스 LV.1

목록 보기
22/26


나의 풀이

def solution(numbers):
    answer = []
    temp = [] 
    for i in range(0,len(numbers)-1) : 
        for j in range(i+1,len(numbers)):
            temp.append(numbers[i]+numbers[j])
    
    for value in temp:
        if value not in answer:
            answer.append(value)
            answer.sort()
            
    return answer

이중 for문으로 리스트 요소를 다 더해주고, 파이썬 리스트에는 set 처럼 중복을 제거하지 않는다. 따라서 아래 for문에 중복을 제거하는 코드를 만들고 마지막 정렬을 만들어준다.

다른 풀이

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)))

set과 정렬을 한번에 쓰면 해당 다른 풀이가 만들어진다.
코드를 충분히 줄일 수 있었다.

profile
존경하는 인물: 스토브리그 백승수 단장(남궁민)

0개의 댓글