문제
0에서 9까지의 숫자 중 일부를 포함하는 정수 배열 숫자는 매개변수로 제공됩니다.
숫자에서 찾을 수 없는 0에서 9까지의 모든 숫자를 찾고 그 합을 반환하는 solve 함수를 완성하십시오.
입력/출력 예시
지불하다 | 결과 |
(1,2,3,4,6,7,8,0) | 14 |
(5,8,4,0,6,7,9) | 6 |
코드
def solution(numbers):
answer = 0
for i in range(10):
if i not in numbers:
answer += i
return answer
in, 연산자가 아님
: 데이터에 찾고 있는 내용이 포함되어 있는지 확인하는 연산자입니다.
- 반환값: 부울 유형(True, False)
- ~ 안에 연산자 – 데이터가 있으면 True, 없으면 False
- 안에 없다 연산자 – 데이터가 없으면 True, 있으면 False
위의 코드에서 누락된 숫자의 합계를 얻기 위해 답변에 비인 숫자만 추가하는 데 not in을 사용했습니다.
def solution(numbers):
return sum(range(10)) - sum(numbers)
이 코드는 내가 다른 사람들의 솔루션 중에서 감탄한 코드 중 하나입니다.
제한된 범위는 고정되어 있기 때문에 숫자 배열의 합을 빼서 범위의 합을 계산하면 숫자 배열에 없는 숫자의 합만 남게 된다.
이렇게 해결할 수 있습니다.