반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 없는 숫자 더하기 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/86051
풀이
반복문과 [Int]의 contains()를 이용하여 숫자가 포함이 되는지 판단합니다.
숫자가 포함이 안 되어 있으면 값을 더해줍니다.
반성할 점
정답을 맞추고 다른 사람의 답도 항상 챙겨 보는 편인데요.
이번 문제를 한 줄로 푼 사람이 많이 보였습니다.
return (0...9).filter { !numbers.contains($0) }.reduce(0, +)
filter와 reduce를 이용한 풀이 방법입니다.
코드를 보기 전까지는 해당 방법은 생각을 하지 못했는데 여러 방면으로 생각을 해야겠구나 반성하게 되었습니다.
전체 코드
func solution(_ numbers:[Int]) -> Int {
var result = 0
for i in 0...9 {
if !(numbers.contains(i)) {
result += i
}
}
return result
}
let numbers = [5,8,4,0,6,7,9]
print(solution(numbers))
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형