210223 개발일지(78일차) - 프로그래머스 알고리즘 문제 "두 개 뽑아서 더하기" 풀이

아주 간단한 문제인데, 오랜만에 for문에 대해 헷갈려서 오래 걸렸다.
바보같이.. 아래와 같이 j에 대해 반복문을 잘못 수행해버렸다.
사소한 실수도 조심해야겠다.

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

아래와 같이 코드를 다시 짰다.

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

좋은 웹페이지 즐겨찾기