파게로그

[백준 1436번] 영화감독 숌 본문

콤퓨타 왕왕기초/PS

[백준 1436번] 영화감독 숌

파게 2020. 11. 6. 21:26

문제 링크: 1436번 영화감독 숌

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

 

처음에 cnt를 0으로 시작할지 1로 시작할지 헷갈렸다.

차근차근 생각하자!

 

#include <iostream>
#include <string>
#define INF 1000000000

using namespace std;

int main(void) {
    /* input */
    int n; cin >> n;
    int answer;

    /* increase number */
    int cnt = 0; // 6이 연속으로 3번 나오는 수의 개수

    string st;
    int cnt6 = 0; // 숫자 내에서 연속으로 나오는 3의 개수
    bool flag;    
    for (int i = 666; i <= INF; i++) {
        // 문자열로 바꿔준다.
        st = to_string(i);

        flag = false;   // 숫자 내에서 연속으로 3이 3회 이상 나오면,
                        // flag를 true로 바꾸고,
                        // 다음 숫자로 넘어간다.
        cnt6 = 0;
        for (int j = 0; j < st.length(); j++) {
            if (st[j]=='6') {
                cnt6++;
                if (cnt6 > 2) {
                    flag = true;
                    break;
                }
            } else { // 3이 아닌 다른 숫자가 나올 때는 cnt6을 초기화한다.
                cnt6 = 0;
            }
        }

        if (flag) {
            cnt++;
            if (cnt == n) {
                answer = i;
                break;
            }
        } // flag가 false일 때는 아무것도 하지 않고 다음 숫자로 넘어간다.
    }

    cout << answer;

    return 0;
}

'콤퓨타 왕왕기초 > PS' 카테고리의 다른 글

[정렬] bubble sort  (0) 2020.11.08
[정렬] heap sort  (0) 2020.11.06
[백준 1018번] 체스판 다시 칠하기  (0) 2020.11.06
[백준 7568번] 덩치  (0) 2020.11.05
[백준 2168번] 타일 위의 대각선  (0) 2020.11.03
Comments