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

Eunjin Kim·2022년 4월 9일
0

코딩테스트

목록 보기
3/8

Level 1 문제

문제 설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

def solution(numbers):
    answer = []
    for i in range(0, len(numbers)):
        for l in range(i+1, len(numbers)):
            sum = numbers[i]+numbers[l]
            if sum not in answer:
                answer.append(numbers[i]+numbers[l])
            
    answer_ = sorted(answer)
    return answer_

쉬운 문제였다. 배열을 돌아가면서 다 더해주면 되는 문제.
하지만 비효율적인 나의 코드,,
더한 값의 중복을 확인해주기 위해서 한번더 조건문을 넣어서 그런지 테스트7에서 시간이 좀 걸리게 나왔다.

프로그래머스 다른 사람 코드

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

keypoint 👀

  • set() 함수 : 집합과 비슷한 개념으로 순서가 없고, 집합 안에서는 unique한 값을 가진다. (중복된 값을 가지지 않음)
profile
ALL IS WELL🌻

0개의 댓글