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로 바꾼뒤 정렬 시키면 된다. 훨씬 더 깔끔한 코드인것 같다.