IT공부/beakjoon 알고리즘

1436번: 영화감독 숌

doublehyun 2022. 3. 13. 00:30

#include <stdio.h>

#include <math.h>

 

int digit(int x) {

    int dcount=0;

    while(1) {

        x /= 10;

        dcount++;

        if(x == 0)

            return dcount;

    }

}

 

int main(int argc, const char * argv[]) {

    

    int num, count = 0;

    int value = 666;

    scanf("%d", &num);

    

    while(1) { // count 가 num이 되는 순간 그 value 반환

        

        int dig = digit(value); // dig는 자릿수

        

        int flag = 0; // 6이 나오면 flage += 1, 안나오면 flag = 0

        int tmp = value;

        

        for(int i=0; i<dig; i++) { // flag 가 3이 되면 count++, value의 1의 자리부터 666나오나 계산

           if(tmp % 10 == 6)

                flag++;

           else // 연속이 아닐 경우 flag 다시 0

               flag = 0

            tmp /= 10;

            

            if(flag == 3) {

                count++;

                break;

            }

        

        }

        if(num == count) {

            printf("%d\n", value);

            return 0;

        }

        value++;

    }

 

    return 0;

}