[백준] 1436. 영화감독 숌(node.js/javascript/자바스크립트/알고리즘/코딩테스트)

2021. 4. 28. 22:05Front-end/알고리즘

728x90
반응형


내가 작성한 코드 (자바스크립트)

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString();
const N = Number(input);
let current = 666;
let count = 0;
let answer;
while (true) {
  if (String(current).includes("666")) {
    count++;
    if (count === N) {
      answer = current;
      break;
    }
  }
  current++;
}

console.log(answer);

666이 들어가는 숫자를 차례로 나열해보면, 666 - 1666 - 2666 - 3666 - 4666 - 5666 - 6660 - 6661 ... 이렇게 나아갈 것이다. 단순히 앞의 숫자만 바뀌는 것이 아니라 666이 들어가는 수를 생각하면 6660 6661 6662 ...도 포함된다.

어떤 규칙을 찾기 보다는 그냥 시작 값을 666부터 해서 전수조사를 했다.

while 반복문을 통해서 그냥 해당 값을 문자열로 바꾸어서 그 값 안에 666이 포함되어 있으면 count를 하나 증가시키고 count가 N과 같아지는 순간 반복문을 탈출하는 것으로 작성했다.

입력 최대값은 10,000인데 실제로 변수를 지정해놓고 반복문을 몇번 돌았는지 확인해보니 최대값인 10,000이더라도 2,666,134번 돌았다. 그러므로 전수조사를 해도 되는 것이라 판단했다.

728x90
반응형