[프로그래머스] 없는 숫자 더하기

sunlog·2023년 2월 4일
0

알고리즘

목록 보기
3/7
post-thumbnail

문제

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ numbers의 길이 ≤ 9
    • 0 ≤ numbers의 모든 원소 ≤ 9
    • numbers의 모든 원소는 서로 다릅니다.

입출력 예

numbersresult
[1,2,3,4,6,7,8,0]14
[5,8,4,0,6,7,9]6

입출력 예 설명

입출력 예 #1

  • 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.

입출력 예 #2

  • 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.

제출 코드

  • 분명.. 더 쉬운 방법이 있을거라는 생각을 하긴 했는데 생각나는대로 바로 써내려감..
def solution(numbers):

    answer = -1
    compare = [1,2,3,4,5,6,7,8,9]
    for num in compare:
        if num not in numbers:
            if answer == -1 : answer = 0
            answer += num
    return answer

다른 사람 코드

  • ㅎㅎ 나만 바보된 것 같은 알고리즘이다.. 두줄이면 끝나는거였다니.. 문제를 보면 어차피 숫자는 한개씩만 나온다고 했어서 1~9까지 모두 더한 합계 45에서 빼기를 하면 되는 문제였다.
def solution(numbers):
    return 45 - sum(numbers)

0개의 댓글