Task description
주어진 순열에서 누락된 요소 찾기
How I did solve
-
1 ~ (N + 1) 까지의 순열이 있다고 할 때, 단 1개의 요소만이 누락되어 있다면 누락되지 않은 순열의 합과 현재 순열의 합의 차이가 곧 누락된 요소
-
1 ~ N 까지의 합
(1 + N) * N / 2
-
1 ~ (N+1)까지의 합
(2 + N) * (N + 1) / 2
Solved Code
function solution(A) {
let sumNonMissing = (A.length + 2) * (A.length + 1) / 2
return A.reduce( (acc, entry) => sumNonMissing - entry , sumNonMissing )
}
Retrospective
- 1 ~ 100까지의 합을 구하는 알고리즘(?)을 알고있지 않았다면 이 문제를 쉽게 풀 수 있었을까?
Hero image from pixabay
댓글