본문 바로가기
Algorithm/Baekjoon

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

by shine-jung 2021. 7. 10.
반응형

문제 링크

 

코딩하기 전 생각하기

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

 


 

코드

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

int main() {
    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 result = v[idx];
    if ( result == "tururu" || result == "turu" ) {
        for ( int i = 0; i < n/14; i++ )
            result += "ru";
        if ( result.length() >= 12 )
            result = "tu+ru*" + to_string((result.length() - 2) / 2);
    }
    cout << result;
}

 


 

느낀점

 

기분좋게 한번에 통과했다. 깔끔하게 푼거 같은데.. 는 내 생각이겠지?

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글