본문으로 건너뛰기
yceffort
PostsSeriesTagsAbout🧪 Research
EN

Tweaks

theme
accent palette
film grain
minimal mode
BACK TO INDEX
◆ ESSAY
--min
--year
KOoriginal

mailMail icongithubtwitter
yceffort
•
© 2026
•
https://yceffort.kr
BACK TO INDEX
◆ ESSAY

Codility - Missing Integer

avatar
yceffort
2020-06-24 · 1분
1min
2020year
KOoriginal
algorithmjavascript

Missing Integer

문제

주어진 배열 A에 빠져 있는 가장 작은 양의 정수를 구하시오

A=[1, 3, 6, 4, 1, 2] 이라면 답은 5
A=[1, 2, 3] 이라면 답은 4
A=[-1, -3] 이라면 답은 1

풀이

function solution(A) {
  // 배열 길이 만큼 false로 채워진 체커를 생성
  const checker = Array(A.length).fill(false)

  // A를 돌면서 양의 정수라면 해당 checker의 index를 true로 바꿔준다.
  for (let i = 0; i < A.length; i++) {
    if (A[i] > 0) {
      checker[A[i] - 1] = true
    }
  }

  // 가장 가까운 false위치를 찾는다.
  const index = checker.indexOf(false)
  // 없으면 모든 수가 다 차있는 것이므로 길이 + 1, 아니라면 해당 index + 1을 리턴한다.
  return index === -1 ? checker.length + 1 : index + 1
}

해설

문제와 관련된 해설은 아니고, indexOf는 일반적인 배열을 for

https://app.codility.com/demo/results/training8EH9VG-2JS/

관련 글

  • #javascript#algorithm

    자바스크립트로 메모이제이션 구현하기

    까먹지 않게 기억해두기

    2020-11-23·1분
  • #javascript#algorithm

    자바스크립트로 구현해보는 다양한 정렬

    ## 거품(버블)정렬 - 가까운 두 원소를 비교해서 정렬하는 방식이다. - `O(N^2)` - 코드가 단순하고 구현하기 쉽다 - 느리다. ![bubble-sort](https://upload.wikimedia.org/wikipedia/commons/3/37/Bubble_sort_animation.gif) ```javascript function bub...

    2020-07-01·3분
  • #algorithm#javascript

    Codility - Nesting

    ## Nesting ### 문제 `(`와 `)`로 이루어진 문자열이 있다. 이 문자열의 `(` `)` 짝이 맞게 이루어져 있는지 확인하라. ### 풀이 ```javascript function solution(S) { const split = S.split('') const stack = [] for (let i of split...

    2020-06-25·1분
  • #algorithm#javascript

    Codility - Max Counters

    ## Max Counters ### 문제 숫자 N이 주어진다. 이 숫자 N은 모든 요소가 0인 길이 N인 배열을 의미한다. 그리고 배열 A가 존재한다. ``` 숫자 N이 5로 주어지고, 배열 A는 [3, 4, 4, 6, 1, 4, 4] 라고 가정하자. 초기 값 [0, 0, 0, 0 0] A[0] = 3, 3번째 (3-1번째) 요소의 크기를 1 늘린...

    2020-06-24·3분

새 글을 놓치고 싶지 않으시다면 RSS로 구독해 주세요.

RSS 구독 →
← Back to the blogIssue on GitHub →