Codility Lesson 3 — PermMissingElm

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

작성자

멀더끙

접근성에 관심이 많은 Front-End Developer, 커피 애호가, 사진 찍기 좋아하는 여행 러버, 아직도 블로그 뭘 쓸지 모르겠는 초보 블로거, 그냥 이것 저것 개인의 생각을 끄적끄적이는 멀더끙의 블로그입니다.

댓글