[프로그래머스][Lv.1] 없는 숫자 더하기 | python3

2025. 1. 16. 17:45프로그래머스/LV.1

 

문제 링크: 없는 숫자 더하기

 

문제 설명

문제 설명

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

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

 

 


문제 풀이

0부터 9까지 들어있는 리스트에서 numbers의 원소를 하나씩 지운다.

 

내코드

def solution(numbers):
    num = [n for n in range(10)]
    answer=0
    
    for n in numbers:
        num.remove(n)
    answer=sum(num)
    return answer

 

 


더보기

다른사람풀이

def solution(numbers):
    return 45 - sum(numbers)

재활용성은 떨어지지만 이렇게 간단하게 코드를 짤 생각을 했다는 게 놀랍다...

 

solution = lambda x: sum(range(10)) - sum(x)

위에꺼에서 재활용성을 더 높힌 코드인

def solution(numbers):
    answer=0
    for i in range(1,10):
        if i not in numbers:
            answer += i
    return answer

내가 짠 코드와 반대로 한 코드인데, 이게 더 좋은 것 같다.

내가 짠건 for문에 remove까지 시간이 배로 걸릴듯.