야챔
월월왈왈
야챔
전체 방문자
오늘
어제
  • 전체보기
    • Java
    • Python
    • JavaScript
    • C#
    • MySQL
    • Docker
    • 알고리즘
      • 백준
      • 프로그래머스
    • 기타
      • Review
      • RP
      • -----

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

티스토리

hELLO · Designed By 정상우.
야챔

월월왈왈

알고리즘/프로그래머스

[Level1] 두 개 뽑아서 더하기

2021. 4. 6. 15:32

링크 : programmers.co.kr/learn/courses/30/lessons/68644

 

 

내 풀이

def solution(numbers):
    result = []
    for i in range(len(numbers)):

        for j in range(1, len(numbers)):
            if(i == j):
                continue
            a = numbers[i] + numbers[j]

            if a not in result:
                result.append(a)
    result.sort()
    return result

다른 인덱스의 두 개의 수를 뽑아야해서 이중 for문을 사용하였고

더한 값이 중복되는 경우가 없어서 not in을 사용하였다.

 

후에 출력해보니 numbers[3] + numbers[3] 이렇게 인덱스가 겹치는 경우가 있었다.

문제에선 다른 인덱스 두 개를 뽑으라고 해서 i == j 이면 continue를 사용하였다.

 

 

 

 

 

다른 사람 풀이

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

i+1을 함으로써 i == j 가 되지 않도록 하였다...

그리고 여기선 not in 대신 set을 사용하였다.

set() 은 같은 요소가 존재할 수 없게 한다.

저작자표시 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[Level1] 나누어 떨어지는 숫자 배열  (0) 2021.04.07
[Level1] 체육복  (0) 2021.04.06
[Level1] 크레인 인형뽑기 게임  (0) 2021.04.05
[Level1]완주하지 못한 선수  (0) 2021.04.05
[Level1]K번째 수  (0) 2021.03.31
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • [Level1] 나누어 떨어지는 숫자 배열
    • [Level1] 체육복
    • [Level1] 크레인 인형뽑기 게임
    • [Level1]완주하지 못한 선수
    야챔
    야챔

    티스토리툴바