백준 4673번 문제

정하윤·2022년 7월 10일
0

저는 4673번의 문제를 보고 셀프 넘버가 아닌 숫자를 구해서 배열에 넣은다음 배열안에 없는 숫자를 출력하는 식으로 풀어봐야겠다고 생각했습니다.

function selfNumber() {
  let dn = 0;
  let arr = [];

  for (let n = 0; n < 10000; n++) {
    if (0 < n && n < 10) {
      dn = 2 * n;
    } else if (10 <= n && n < 100) {
      dn = n + (n % 10) + Math.floor(n / 10);
      //1의자리수 10의자리수
    } else if (100 <= n && n < 1000) {
      dn = n + Math.floor(n / 100) + Math.floor((n % 100) / 10) + (n % 10);
      //1의자리수 10의자리수 100의자리수
    } else if (1000 <= n && n < 10000) {
      dn =
        n +
        Math.floor(n / 1000) +
        Math.floor((n % 1000) / 100) +
        Math.floor((n % 100) / 10) +
        (n % 10);
      //1의자리수 10의자리수 100의자리수 1000의자리수
    }
    arr.push(dn);
    //배열안엔 넣기
  }
  for (let i = 1; i < 10000; i++) {
    if (!arr.includes(i)) {
      console.log(i);
      //배열안에 포함하지 않은숫자 출력
    }
  }
}

selfNumber()

0개의 댓글