[알고리즘] 1436번: 영화감독 숍

2023. 9. 26. 23:35Algorithm/with C++

0. 문제

 

 

1436번: 영화감독 숌

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

www.acmicpc.net

 


1. 문제 이해

 

  1. 666
  2. 1666
  3. 2666
  4. 3666
  5. 4666
  6. 5666
  7. 6660
  8. 6661
  9. 6662
  10. 6663
  11. 6664
  12. 6665
  13. 6666
  14. 6667
  15. 6668
  16. 6669
  17. 7666
  18. 8666
  19. 9666
  20. 10666
  21. 11666
  22. 12666
  23. 13666
  24. 14666
  25. 15666
  26. 16660
  27. 16662
  28. 16663

??. 26660

??. 36660

??. 56669

??. 66600

??. 66601

 

제일 단순한 방법은 1씩 더해가면서 연속으로 6이 3번 나오는 경우를 찾는 것이다.

 

1씩 더해가면서 N번째 666 패턴이 나오면 반환하면 된다.

 


2. 제출

 

//백준 1436번: 영화감독 숌
#include<iostream>
#include<string>
using namespace std;

int n, i=666, cnt=1, ret=666;

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

  cin >> n;
  do{
    i++;
    string str = to_string(i);
    auto it = str.find("666");
    if(it != string::npos){
      cnt++;
      ret = i;
    }
  }while(cnt!=n);

  cout << ret << "\n";

  return 0;
}
  • auto it = str.find("666"); : string.find()를 활용해서 “666” 패턴이 존재하는지 확인한다.