코테 및 알고리즘

백준 1436번 - 영화감독 숌

Jay_Jung 2024. 6. 25. 19:05

<문제>

https://www.acmicpc.net/problem/1436

 

 

 

<문제 핵심>

1. 브루트포스 알고리즘

개념: 다른 말로 완전탐색 알고리즘. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족되는 결과만을 가져온다. 해당 알고리즘의 강력한 점은 예외 없이 100%의 확률로 정답만을 출력한다.

 

✅ 대부분은 반복문과 조건문을 통하여 답을 도출한다.

✅ 모든 경우의 수를 탐색하기 때문에 시간 복잡도 측면에서 안좋다.

 

<문제 풀이과정 및 순서도>

 

1. N을 뽑아오고 숫자의 순서를 세는 변수 count와 종말의 수인 numberOfEnd를 초기화한다.

const n1 = Number(input[0]);
let count = 1;
let numberOfEnd = 666;

 

2. count가 n1이랑 다를 때 동안, 즉 두 변수의 값이 같아질 때 까지 반복문을 돌린다.

✅ numberOfEnd를 증가시키면서 666을 포함하면 count를 후위 연산으로 증가 시킨다.

✅ 두 변수의 값이 같아지는 순간 numberOfEnd를 출력한다.

while (count != n1) {
  numberOfEnd++;
  if (String(numberOfEnd).includes("666")) {
    count++;
  }
}

console.log(numberOfEnd);