출석하지 않은 강아지 찾기

문제


강아지 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를 하여 출석번호를 출력합니다.

'코딩문제' 카테고리의 다른 글

카드의 역순 배치  (0) 2024.03.25
나머지 개수 세기  (0) 2024.03.24
지우개 교환  (0) 2024.03.22
필통과 지우개  (0) 2024.03.22
주사위 상금 게임  (0) 2024.03.21