TIL

3/06일자 TIL

오딘.L.스트레인지 2026. 3. 6. 19:30

코드카타- 옹알이(2)

 

#include <string>
#include <vector>
using namespace std;

bool startsWith(const string& s, const string& p) {
    if (s.size() < p.size()) return false;
    // TODO: s의 앞부분이 p와 같은지 확인
    return s.compare(0, p.size(), p) == 0;
}

bool canPronounce(string s) {
    vector<string> parts = {"aya", "ye", "woo", "ma"};
    string prev = "";

    while (!s.empty()) {
        string matched = "";

        // TODO: parts 중 s가 시작하는 조각 찾기
        for (const auto& p : parts) {
            if (startsWith(s, p)) {
                matched = p;
                break;
            }
        }

        // TODO: 매칭 실패 처리
        if (matched.empty()) return false;

        // TODO: 연속 발음 금지 처리
        if (matched == prev) return false;

        // TODO: 문자열 소비 + prev 갱신
        s.erase(0, matched.size());
        prev = matched;
    }

    return true;
}

int solution(vector<string> babbling) {
    int answer = 0;
    for (auto& word : babbling) {
        if (canPronounce(word)) answer++;
    }
    return answer;
}

 

 

 

팀 프로젝트 포스트 모템

팀 프로젝트 회고 시간이었다.

많이 나왔던 문제와 해결방법들을 되짚어보았고,

그것에서 배운 점들도 많았다.

'TIL' 카테고리의 다른 글

3/10일자 TIL  (0) 2026.03.10
3/09일자 TIL  (0) 2026.03.09
3/05일자 TIL 및 KPT회고  (0) 2026.03.05
3/04일자 TIL  (0) 2026.03.04
3/03일자 TIL  (0) 2026.03.03