001. 두 개 뽑아서 더하기

4584 단어 algorithmalgorithm

문제

내 풀이

def solution(numbers):
    answer = []
    for i in range(len(numbers)):
        for j in range(len(numbers)):
            if i != j:
                answer.append(numbers[i] + numbers[j])
    return list(sorted(set(answer)))
  • 처음 list(sorted(set(answer)))을 사용하지 않아서 오류가 났었다
  • 중복을 제거하는 함수 set을 알게 되었다
  • 정렬은 answer.sort()로 했었는데 set함수와 같이 쓰면서 간편하게 쓸 수 있는 sorted함수를 알게 되어 사용했다

가장 높은 비율의 정답 풀이

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)))
  • 나처럼 if문을 쓰지 않고도 깔끔하게 정리된 코드인 것 같다
  • 애초에 i1을 더해서 다음 index를 가져와서 더한 모습이다

좋은 웹페이지 즐겨찾기