코드카타- 옹알이(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 |