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

SEUNGCHAN BAEK·2021년 3월 30일
0
post-thumbnail

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

처음에 내가 푼 방식은 2중 for문으로 두개의 숫자의 합을 한개씩 뽑아내면서 not in 을 사용하여 total 리스트에 그 값이 없을때 추가하도록 구현했다.
하지만 set 함수를 사용하면 not in을 사용하지 않고 더 간결한 코드로 구현할 수 있다는것을 깨달았다.

def solution2(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)))

2중 for문으로 돌리고 answer 배열에 합들을 모두 추가한 후 set을 이용하여 중복을 제거할 수 있다. 그리고 list로 바꾼뒤 정렬 시키면 된다. 훨씬 더 깔끔한 코드인것 같다.

profile
백엔드 개발자가 되는 그날까지

0개의 댓글

관련 채용 정보