[JS][백준]4673_셀프 넘버
Algorithm/BaeKJoon

[JS][백준]4673_셀프 넘버

문제 번호

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net

 

 

알고리즘 분류

수학, 구현

 

문제 풀이

 문제에서 주어진 내용을 그대로 따라해서 풀이했다. 1이상 10000이하의 수 들 중에서 셀프 넘버들을 모두 찾아야 했다.

그래서 1부터 시작해서 셀프넘버가 아닌 수 들은 -1로 지워주는 방법을 선택했다.

 arr라는 배열에는 1부터 10000 까지의 수가 들어있는데 각각의 수 가 셀프넘버가 아니라면 -1로 바뀌게 된다.

 

별 생각없이 각 자리 수를 더해가면서 풀었다.

var arr = [];
for (let i = 0; i <= 10000; i++) {
    arr[i] = i;
}

for (let i = 1; i <= 20000; 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);
}



for (let i = 1; i <= 10000; i++) {
    if (arr[i] != -1)
        console.log(arr[i]);
}

특이사항

 

 

'Algorithm > BaeKJoon' 카테고리의 다른 글

[JS][백준]10809_알파벳 찾기  (0) 2021.08.05
[JS][백준]1065_한수  (0) 2021.08.05
[JS][백준]11720_숫자의 합  (0) 2021.08.02
[JS][백준]1546_평균  (0) 2021.08.02
[JS][백준]3052_나머지  (0) 2021.08.02