728x90
1. 문제
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
2. 나의 답
func solution(_ numbers:[Int]) -> Int {
let sumValue = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
var inputValue = 0
numbers.forEach { value in
inputValue += value
}
return sumValue - inputValue
}
3. 다른 방법
func solution(_ numbers:[Int]) -> Int {
let sumValue = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
let inputValue = numbers.reduce(0) { $0 + $1 }
return sumValue - inputValue
}
마무리
우선 난 문제를 읽고 제한되어 있는 숫자 배열이라 없는 수를 찾아 계산하는 것보다 총 수에서 가지고 있는 수를 빼는 방식으로 문제에 접근해 보았다. 처음에는 forEach 문을 사용하여 계산을 하였는데 reduce 기능이 있다는 것을 깨닫고 다시 한번 풀어보았다.
728x90
'알고리즘 > 해결' 카테고리의 다른 글
LeetCode August2.Design HashSet (0) | 2020.08.03 |
---|---|
LeetCode August1.Detect Capital (0) | 2020.08.03 |
LeetCode1528. Shuffle String (0) | 2020.07.30 |
LeetCode1480. Running Sum of 1d Array (0) | 2020.07.30 |
LeetCode1470. Shuffle the Array (0) | 2020.07.28 |