[Python3] 프로그래머스 없는

안녕하세요. 개발자 J입니다.

주제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/86051

프로그램 제작자

코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.

Programmer.co.kr

문제

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)

이 코드는 내가 다른 사람들의 솔루션 중에서 감탄한 코드 중 하나입니다.

제한된 범위는 고정되어 있기 때문에 숫자 배열의 합을 빼서 범위의 합을 계산하면 숫자 배열에 없는 숫자의 합만 남게 된다.

이렇게 해결할 수 있습니다.