백준 4673 js 셀프넘버

kevin07·2022년 7월 27일
0

빈 배열에
1~10000 까지 삽입

var arr = []; // 한줄에 하나씩 증가하는 거 담을 부분. 셀프넘버 출력할 부분
for(var i = 1; i<= 10000; i++){ // 10000 보다작거나 같은 셀프넘버 생성
arr[i] = i; // 10000보다 작거나 같은 셀프넘버 한줄에 하나씩 삽입 arr.push(i); 해도 됨.
}

for(var i = 1; i<10000; i++){
let num = parseInt((i)) +
parseInt(i % 10) +
parseInt((i / 10) % 10) +
parseInt((i / 100) % 10) +
parseInt((i / 1000) % 10) +
parseInt((i / 10000) % 10);

arr[parseInt(num)] = parseInt(-1); // 셀프넘버가 아니면 -1로 수 제거
}

for(let i =1; i< 10000; i++){
if(arr[i] !== -1){ // 셀프넘버 맞다면. 셀프넘버 아니면 -1 로 수제건데
console.log(arr[i]); // 셀프넘버 출력
}
}

ex 1 )
12345 만 의자리 숫자 주어지면 각 자릿수 추출 방법

만 의 자리 ( 1 ) - 12345 / 10000
천 의 자리 ( 2 ) - (12345 % 10000) / 1000
백 의 자리 ( 3 ) - (12345 % 1000) / 100
십 의 자리 ( 4 ) - (12345 % 100) / 10
일 의 자리 ( 5 ) - (12345 % 10 )

ex 2 )
9236715
9 - 9236715 / 1000000
2 - (9236715 % 1000000 ) / 100000
3 - (9236715 % 100000 ) / 10000
6 - (9236715 % 10000 ) / 1000
7 - (9236715 % 1000 ) / 100
1 - (9236715 % 100 ) / 10
5 - (9236715 % 10 )

0개의 댓글