문제
강아지 X는 M훈련사의 수업을 듣고 있다. 교실에는 30마리의 강아지가 있으며, 각각의 강아지는 1번부터 30번까지 출석번호를 가지고 있다.
훈련사가 출석번호를 부르는데 출석하지 않은 강아지를 찾으시오
입력
각 강아지의 출석번호 1번부터 30번까지 한칸씩 띄어서 주어집니다.
예시
const testCase = '2 3 4 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30'
풀이
function findMissingDogIDs(ids) {
const result = new Array(30).fill(0);
ids.split(' ').forEach((e) => {
result[e - 1] = 1;
});
result.forEach((e, idx) => {
if (!e) console.log(idx + 1);
});
}
먼저, 길이가 30이고 0으로 초기화된 배열을 만듭니다.
출석번호를 배열로 만든 후 출석한 강아지들에 해당하는 인덱스에 1을 할당합니다
배열을 순회하면서 값이 0인 인덱스를 찾아낸 후 +1를 하여 출석번호를 출력합니다.