2018-11-17
[JS] Perm Check
EASY

개요

integer N으로 채워진 배열 A가 주어집니다.
1부터 N까지 단 하나의 값만 등장하는 순열로 채워집니다.

예시

  • [4, 1, 3, 2]는 순열입니다.
  • [4, 1, 3]은 순열이 아닙니다. 2가 없기 때문입니다.

문제

배열 A가 순열인지 판별하여 순열이라면 1을, 아니라면 0을 반환해주세요.

제한

  • 배열 A의 길이 N은 1 ~ 100,000의 범위를 갖는 정수입니다.
  • 각 요소의 값은 1, 1,000,000,000의 범위를 갖는 정수입니다.

풀이

스코어 100%

function solution(A) {
  A = A.sort((a,b) => {
    return a-b
  })
  for (let i = 1; i <= A.length; i++) {
    if (i !== A[i-1]) { return 0 }
  }
  return 1
}

설명

배열 A가 일반적인 순열이 아닌, 1부터 N까지의 수로 채워진 순열임에 주목하세요.
1부터 N까지 채워진 정렬된 배열은, i-1번째 인덱스의 값이 항상 i입니다.