본문 바로가기
PS/programmers

[Lv. 1] 없는 숫자 더하기(Python)

by 강렬한 스포트라이트 2023. 3. 13.

안녕하세요. 

강렬한 스포트라이트 입니다!

 

하기의 문제를 Python 언어를 사용하여 구현하고자 합니다.

 

<문제 설명>

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

 

<제한 사항>

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

 

<입출력 예>

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

 

 

1) 0~9까지의 수가 들어있는 배열 중 numbers에 포함되지 않은 수의 합을 계산하여 구현한 코드입니다.

 

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

 

위 코드를 더 간결하게 구현한 코드입니다.

def solution(numbers):
    nums=[i for i in range(10)]
	return sum([num for num in nums if num not in numbers])

 

 

2) 0~9까지의 수가 들어있는 배열을 생성하고 set()의 차집합을 이용하여 구현한 코드입니다.

 

def solution(numbers):
    n=[i for i in range(10)]
    return sum(list(set(n)-set(numbers)))

 

 

3) 0~9까지의 전체 합에서 numbers 원소의 합을 차감하여 구현한 코드입니다.

 

def solution(numbers):
    return sum([i for i in range(10)]) - sum(numbers)

 

 

해보시고 문의사항이 있으시면 댓글로 남겨주세요.´◡`

감사합니다!

 

 

반응형
SMALL