본문 바로가기
코딩테스트(알고리즘)/baekjoon

[baekjoon] 영화감독 숌 1436 (Javascript, c++)

by Cafe Mocha 2022. 6. 11.

1436번: 영화감독 숌 (acmicpc.net)

 

1436번: 영화감독 숌

666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타

www.acmicpc.net


접근 방법

알고리즘 : Brute force

 

1. num을 증가시키며 string으로 형변환 시켜 연속된 666 포함 확인

2. cnt를 증가시키며 n번째 수를 찾음


Javascript

function solution() {
  let input = Number(
    require("fs")
      .readFileSync("input.txt") //"/dev/stdin"
      .toString()
      .trim()
      .split("\n")
      .map((val) => val.trim())[0]
  );

  let cnt = 0;
  let num = 666;

  while (cnt <= input) {
    let stringNum = String(num);
    for (let i = 0; i < stringNum.length - 2; i++) {
      if (stringNum[i] === "6" && stringNum[i + 1] === "6" && stringNum[i + 2] === "6") {
        cnt++;
        break;
      }
    }

    if (cnt === input) {
      console.log(num);
      break;
    }

    num++;
  }
}

solution();

 


C++

#include <bits/stdc++.h>
using namespace std;


int main()
{
  freopen("input.txt", "r", stdin); //제출 시 삭제

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int cnt=0,n,num = 666;
    cin>>n;

    while(cnt<=n){
      string a = to_string(num);
      for(int i=0;i<a.length()-2;i++){
        if(a[i]=='6'&&a[i+1]=='6'&&a[i+2]=='6'){
          cnt++;
          break;
        }
      }

      if(cnt == n){
        cout<<num<<"\n";
        break;
      }
      num++;
    }
      

}