BOJ. 1436

Opusdeisong·2022년 12월 25일
0

백준 Class2

목록 보기
14/31


#BOJ1436

영화감독 숌

666이라는 숫자가 등장할때마다 확인해주면 되는 것이라고 생각해서 가장 간단하게 해결하면 부르트포스로 해결하면 될 것이라고 생각하였다. Python이었다면 그냥 대강 string으로 변환한 다음에 혹시 "666"있니? 라고 물어보면 될거를 이 시플플 친구는 싹 다 자리를 쪼개서 삼 연속 나올때마다 cnt를 늘리는 형식으로 만들어야해서 여간 귀찮은 과정이 아니었다. 하지만 뭐 하다보면 된다고 완성한 것 같다. 아니 분명 다 되는데 출력 초과가 나온다 왜지? 웨지감자... ㅈㅅ

# include "iostream"

using namespace std;

int main(void){
   long long i = 667, n, cnt = 1;
   cin >> n;

   while (true){
       if (n == 1) cout << "666";    
       else {
           long long temp = i, tempCnt = 0;
           while(temp > 0){
               if (temp % 10 == 6) tempCnt ++;
               else tempCnt = 0;
               if (tempCnt == 3) {
                   cnt += 1;
                   break;
               }
               temp = temp / 10;
           }
           if (cnt == n) {
               cout << i;
               break;
           }
           i ++;
       }
   }
}

아 1에서 에러가 뜬다... 이제 알았다. 괜히 시간 좀 줄여보겠다고 667부터 시작한게 화근이었다. 괜한 배려로 내 머리를 힘들게 하지말자...

# include "iostream"

using namespace std;

int main(void){
    long long i = 667, n, cnt = 1;
    cin >> n;

    while (true){
        if (n == 1) {
            cout << "666";
            break;
        } 
        else {
            long long temp = i, tempCnt = 0;
            while(temp > 0){
                if (temp % 10 == 6) tempCnt ++;
                else tempCnt = 0;
                if (tempCnt == 3) {
                    cnt += 1;
                    break;
                }
                temp = temp / 10;
            }
            if (cnt == n) {
                cout << i;
                break;
            }
            i ++;
        }
    }
}
profile
Dorsum curvatum facit informaticum.

0개의 댓글