본문 바로가기
Algorithm/BOJ

[백준/BOJ] 15947번 - 아기 석환 뚜루루 뚜루 (C++)

by shine-jung 2022. 3. 25.
반응형

문제 링크


코드

#include <bits/stdc++.h>
using namespace std;

int main(void) {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<string> v = {
        "baby", "sukhwan", "tururu", "turu",
        "very", "cute", "tururu", "turu",
        "in", "bed", "tururu", "turu",
        "baby", "sukhwan"
    };
    int idx = (n - 1) % 14;
    string ret = v[idx];
    if (ret == "tururu" || ret == "turu") {
        for (int i = 0; i < n / 14; i++)
            ret += "ru";
        if (ret.length() >= 12)
            ret = "tu+ru*" + to_string((ret.length() - 2) / 2);
    }
    cout << ret;
}



설명

반복되는 패턴을 벡터로 저장하자.
n을 14로 나눈 나머지를 idx 변수에 저장한다.
벡터[idx]를 출력한다. 이때 값이 tururu나 turu이면,
n을 14로 나눈 몫만큼 ru를 더 출력한다.

언젠가 내 이름이 들어간 문제가 백준에 나왔으면 좋겠다.




(주의) 기록용으로 작성한 글입니다. 좋은 코드가 아닐 수 있습니다.

댓글 환영합니다!


반응형

댓글