본문 바로가기
🍎 Swift/Programmers

[👾 Programmers] 28. 없는 숫자 더하기 (contains/filter/reduce)

by 솔비님 2024. 7. 23.

 

1. 문제 설명 (📎Link)

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

 

2. 제한사항

1 ≤ numbers의 길이 ≤ 9 

0 ≤ numbers의 모든 원소 ≤ 9 

numbers의 모든 원소는 서로 다릅니다.


📝 문제

import Foundation

func solution(_ numbers:[Int]) -> Int {
  return -1
}

 

 

💻 내가 푼 방법

import Foundation

func solution(_ numbers:[Int]) -> Int {
  var array: [Int] = [0,1,2,3,4,5,6,7,8,9]
  
  array = array.filter{!numbers.contains($0)}
  return array.reduce(0, +)
}

1. numbers 배열은 0부터 9까지의 숫자가 중복없이 들어갈 수 있으므로, 해당 숫자가 들어간 또다른 배열 array를 만들어 준다

2. array에 filter 함수와 contains를 적용해 없는 숫자를 추출해서 다시 array에 넣어준다

3. reduce 함수로 array 값을 모두 더해준다


🔎 의문점과 공부한 것

1.