

TECH.KAKAO.GG
프로그래머스 무작위로 K개의 수 뽑기
Algorithm26일 전
🧩 문제 설명
당신은 중복되지 않는 k개의 숫자를 무작위로 뽑아서 배열을 만들고자 합니다.
하지만 무작위 숫자들이 이미 arr
배열에 순서대로 저장되어 있다고 가정합니다.
목표는 arr
에서 앞에서부터 순서대로 중복되지 않는 숫자를 뽑아 k개
의 배열을 만드는 것입니다.
단, 서로 다른 숫자가 k개보다 적을 경우에는 부족한 칸을 -1로 채워야 합니다.
🔑 핵심 아이디어
-
중복된 숫자는 무시하고, 처음 등장하는 숫자만 뽑습니다.
-
뽑은 숫자의 개수가
k
에 도달하면 종료합니다. -
만약
k
개보다 적다면, 남은 칸에-1
을 채워넣습니다.
function solution(arr, k) {
var answer = [];
let tmp = new Set();
for(let num of arr) {
if(!tmp.has(num)) {
tmp.add(num);
answer.push(num);
}
if (answer.length === k) break;
}
while(answer.length < k) {
answer.push(-1);
}
return answer;
}
키워드
프로그래머스 무작위로 K개의 수 뽑기무작위로 K개의 수 뽑기JS 중복 제거JS 길이 제한 배열 구성JS 순차 처리