[ 백준 ] 2145 숫자 놀이 [ js ]

Ann·2023년 5월 29일
0

Algorithm

목록 보기
44/53

2145 숫자 놀이

문제

초등학생인 도겸이는 숫자를 좋아한다. 어느 날 도겸이는 숫자 책을 보다가 간단한 놀이를 하나 생각해냈다. 숫자 놀이의 규칙은 다음과 같다.

주어진 숫자의 각 자릿수를 더한다.
결과가 한 자릿수가 될 때 까지 규칙1을 반복한다.
예를들어, 숫자 673에 규칙을 적용해보면 결과는 7이 된다 ; 6 + 7 + 3 = 16, 1 + 6 = 7

도겸이는 당신과 함께 숫자놀이를 하고싶어한다. 도겸이가 주는 숫자들을 풀어보자.

입력

각 줄에 숫자 N이 주어진다. N은 100,000보다 작은 양의 정수이다. 마지막 입력은 0이며, 0에 대한 결과는 출력하지 않는다.

출력

한 줄에 하나씩 한 자릿수 결과를 출력한다.

풀이

// let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
let input = [`673`,
			`51`,
			`1000`,
			`99`,
			`0`]
for(let i=0; i<input.length; i++){
    if(input[i]==="0")break;
    let numArr = input[i].split('').map(n=>parseInt(n));
    let sum = numArr.reduce((acc, curnt)=>acc+curnt,0);
    while(sum>=10){
      let arr = sum.toString().split('').map(n=>parseInt(n));
      sum = arr.reduce((acc, curnt)=>acc+curnt,0);
    }
    console.log(sum)
}
profile
안녕하세요

0개의 댓글