[Programmers][Python] 없는 숫자 더하기(Lv.1)
1. 문제
문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한 사항
- 1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 수 ≤ 9
- numbers의 모든 수는 서로 다릅니다.
2. 풀이
없는 숫자를 찾아서 더하는 것보다 숫자의 범위가 0~9로 정해져있으므로 0부터 9까지 더한 수인 45에서 배열에 있는 수를 빼는 것이 더 간단하다.
- 0+1+…+9는 sum(range(10))로 구할 수 있지만 매번 새로 구할 필요가 없으므로 함수의 효율화를 위해 45로 써주는 것이 더 좋다
- 리스트에 있는 수를 더하는 것은 for문을 사용해서도 가능하지만 간단하게 sum함수를 사용할 수 있다
코드1
def solution(numbers):
answer = sum(range(10))
for num in numbers:
answer -= num
return answer
코드2
def solution(numbers):
answer = 45 - sum(numbers)
return answer
시간효율을 위해 45로 고정해두고 for문 대신 sum 함수를 사용하였다.