avatar
$
Published on

Codility - Missing Integer

Author
  • avatar
    Name
    yceffort

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/