[Python]_코딩테스트_없는 숫자 더하기

김희정·2024년 1월 26일
0

코딩테스트

목록 보기
6/13

[프로그래머스] 없는 숫자 더하기

Problem

문제설명

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

제한사항

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

입출력 예

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

Solution

1. For 루프 사용

def solution(numbers):
    result = 0
    for i in range(10):
        if i not in numbers:
            result += i
    return result
  • range(10)을 통해 0부터 9까지의 숫자로 이루어진 iterable을 생성
  • if i not in numbers를 사용하여 현재 숫자 i가 numbers 배열에 없는지 확인
  • result += i를 통해 numbers 배열에 없는 숫자들의 합을 계산

2. List comprehension 사용

def solution(numbers):
    return sum(i for i in range(10) if i not in numbers)
  • range(10)을 통해 0부터 9까지의 숫자로 이루어진 iterable을 생성
  • if i not in numbers를 사용하여 현재 숫자 i가 numbers 배열에 없는지 확인
  • i for i in range(10) if i not in numbers: numbers 배열에 없는 0부터 9까지의 숫자로 이루어진 리스트를 생성하는 생성자 표현식
profile
데이터 애널리스트가 되고 싶은

0개의 댓글