sm 기술 블로그

42. 4673(셀프 넘버) 본문

문제/백준_자바스크립트

42. 4673(셀프 넘버)

sm_hope 2022. 5. 20. 10:20
function app(n) {
    
    let A = parseInt(n/1000);
    let B = parseInt(n/100) - (A * 10);
    let C = parseInt(n/10) - (A*100 + B*10);
    let D = n%10;
    
    n = n + A + B + C + D;
    return n;
}

let nonSelfNum = new Set();
let answer = '';

for (let i = 1; i < 10001; i++){
    nonSelfNum.add(app(i));
    //셀프 넘버가 아닌것들이 집어 넣어짐.
}

nonSelfNum = Array.from(nonSelfNum);


for (let j = 1 ; j < 10001; j++){
    if(nonSelfNum.indexOf(j) == -1){
        answer += j + '\n';
    }
}

console.log(answer);

개념만 이해하면 크게 어렵지 않은 문제이다.

 

생성자가 여러개 일 수 있으므로 set을 통해 중복값은 제거해 주고, Array.from으로 배열로 바꿔 준다.

배열.indexOf(A) 는 A 값이 배열에 있다면 몇번째에 있는지 알려주고 없다면 -1로 반환한다.

'문제 > 백준_자바스크립트' 카테고리의 다른 글

44. 11654 (아스키 코드)  (0) 2022.05.20
43. 1065(한수)  (0) 2022.05.20
41. 4344(평균은 넘겠지)  (0) 2022.05.19
40. 8958(OX퀴즈)  (0) 2022.05.19
39. 1546(평균)  (0) 2022.05.19
Comments