나머지 개수 세기

문제


입력된 값에서 34로 나눈 나머지가 각각 몇 개 나왔는지 출력하는 프로그램을 작성하시오

나머지의 개수가 0인 값은 출력하지 않습니다.

 

입력


공백으로 구분된 음이 아닌 정수로 들어갑니다.

 

예시


const testCase='50 20 10 3 55 13 96 324'

 

풀이


function countRemainders(number) {
    const divisor = 34
    const remainders = new Array(divisor).fill(0);
    const numbers = number.split(' ').map(Number);
    numbers.forEach((e) => {
        remainders[e % divisor]++;
    });
    remainders.forEach((e, idx) => {
        if (e) console.log(idx + ':', e);
    });
}

 

34로 나눈 나머지의 개수를 구하는 문제이기 때문에 처음 34개의 요소를 가지는 배열을 0으로 초기화합니다.

해당 배열에는 각 나머지의 개수를 저장할 것입니다.

공백을 기준으로 하는 입력값이 들어오기 때문에 공백으로 분리하여 map(Number)를 사용하여 숫자인 배열을 가집니다.

해당 배열을 순회하면서 34로 나눈 나머지를 구하고 초기화한 나머지 배열인 remainders에 요소를 1씩 증가시킵니다.

그리고 remainders 배열을 순회하면서 0인 아닌 경우에 해당 나머지와 개수를 출력합니다.

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

조정된 평균 점수  (0) 2024.03.25
카드의 역순 배치  (0) 2024.03.25
출석하지 않은 강아지 찾기  (0) 2024.03.24
지우개 교환  (0) 2024.03.22
필통과 지우개  (0) 2024.03.22