sm 기술 블로그
42. 4673(셀프 넘버) 본문
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