알고리즘 문제풀이
프로그래머스 28. 없는 숫자 더하기
가애야
2024. 6. 7. 09:33
subtracting 메서드는 스위프트의 Set 타입에서 제공되는 메서드로, 한 집합에서 다른 집합에 포함된 요소들을 제거한 새로운 집합을 반환한다. 이 메서드를 사용하여 두 집합의 차집합을 구할 수 있다.
예를들면 집합 A와 B가 있을 때,
A.subtracting(B) 는 집합 A에서 집합 B에 있는 모든 요소를 제거한 새로운 집합을 반환한다.
subtracting 메서드를 사용하면 두 집합 간의 차집합을 간단하고 효율적으로 계산할 수 있다.
다른사람 풀이 중 매우 깔끔한 풀이를 발견했다
filter 와 reduce 함수를 사용하여 간결하게 문제해결을 한 경우이다.
.filter { !numbers.contains($0) }
filter 메서드는 주어진 조건을 만족하는 요소만을 포함하는 새로운 배열을 생성한다. 여기서 조건은 !numbers.contains($0) 이다.
즉, numbers에 포함되지 않은 숫자들을 걸러내준다.
그다음 reduce 메서드를 사용, + 연산자를 사용해 모든 요소를 합산해준다.