일일구름 IT

프로그래머스 lv.1 [없는 숫자 더하기] 월간 코드 챌린지 시즌3 본문

프로그래머스/프로그래머스 lv.1

프로그래머스 lv.1 [없는 숫자 더하기] 월간 코드 챌린지 시즌3

일구름 2022. 7. 6. 22:07

문제 설명

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


제한사항

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

 

내 문제 풀이 :

def solution(numbers):
    answer = 0
    num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    for i in num:
        if i not in numbers:
            answer += i
    return answer

numbers = [1,2,3,4,6,7,8,0]
print(solution(numbers))
  • 0부터 9까지의 숫자를 담은 num 리스트 생성
  • num 리스트에 있는 요소가 numbers 리스트에 없을 경우 answer에 더해줌

 

다른 사람 풀이 :

def solution(numbers):
    return 45 - sum(numbers)
  • 0부터 9까지 숫자의 합인 45에서 numbers 리스트의 모든 요소를 합한 후 빼줌
  • 간단한 식으로 0부터 9까지 중에 없는 수를 더할 수 있음

 

다른 사람의 풀이를 보고 머리를 한 대 맞은 느낌이었다.

굉장히 쉬운 문제였지만 모든 수를 합한 뒤 numbers의 수를 빼주다니..

생각지도 못했다.

 

확실히 혼자 문제를 푸는것도 좋지만 다른 사람들의 풀이를 보는 것도 큰 도움이 된다.

다른 사람의 풀이를 보면 문제를 바라보는 다양한 시각와 문제를 해결하기 위한 여러 방법들을 배울 수 있다.

 

https://loud-scorpion-36f.notion.site/801f2cb0303b4799841cc70c547c778d

 

없는 숫자 더하기

문제 설명

loud-scorpion-36f.notion.site