프로그래머스

옹알이 (1) - 프로그래머스, c++

2023. 1. 7. 19:29

 

 

- 문제 풀이

#include <string> 이 가지는 명령어를 사용하는 것이 중요.

~~.substr(0,0) 명령어를 통해 문자열 안의 부분 문자열에 우리가 원하는 단어가 있는 지 확인하도록 해야 했다.

vector 안의 모든 string들은 하나씩 고려해주기 위해 for문을 써준 후 

그 안에는 각 string을 고려해야 했으므로 또 for문을 사용한다.

발음이 되는 경우만 bool 형의 word 변수를 통해 answer의 값을 ++ 증가시키도록 했다.

 

 

- 코드

#include <string>
#include <vector>

using namespace std;

int solution(vector<string> babbling) {
    int answer = 0;
    
    for(int i=0; i<babbling.size(); i++) {
        bool word = true;
        
        for(int j=0; j<babbling[i].size(); j++){
            if(babbling[i].substr(j, 3)=="aya") 
                j+=2;
            else if(babbling[i].substr(j, 2)=="ye") 
                j+=1;
            else if(babbling[i].substr(j, 3)=="woo") 
                j+=2;
            else if(babbling[i].substr(j, 2)=="ma") 
                j+=1;
            else {
                word = false;
                break;
            }
        }
        
        if(word) 
            answer++;
    }
      
    return answer;
}