๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[C++/PGS] Lv.0 : ์˜น์•Œ์ด (1) (๊ตฌํ˜„)

https://school.programmers.co.kr/learn/courses/30/lessons/120956

 

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋Š” ํƒœ์–ด๋‚œ ์ง€ 6๊ฐœ์›” ๋œ ์กฐ์นด๋ฅผ ๋Œ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์นด๋Š” ์•„์ง "aya", "ye", "woo", "ma" ๋„ค ๊ฐ€์ง€ ๋ฐœ์Œ์„ ์ตœ๋Œ€ ํ•œ ๋ฒˆ์”ฉ ์‚ฌ์šฉํ•ด ์กฐํ•ฉํ•œ(์ด์–ด ๋ถ™์ธ) ๋ฐœ์Œ๋ฐ–์— ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด babbling์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด์˜ ์กฐ์นด๊ฐ€ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ
  • 1 ≤ babbling์˜ ๊ธธ์ด ≤ 100
  • 1 ≤ babbling[i]์˜ ๊ธธ์ด ≤ 15
  • babbling์˜ ๊ฐ ๋ฌธ์ž์—ด์—์„œ "aya", "ye", "woo", "ma"๋Š” ๊ฐ๊ฐ ์ตœ๋Œ€ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ๊ฐ ๋ฌธ์ž์—ด์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ค‘์—์„œ "aya", "ye", "woo", "ma"๊ฐ€ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๋ฌธ์ œ.

substr๊ณผ replace๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์—ˆ๋‹ค!

 

 

๋‚˜์˜ ํ’€์ด

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

vector<string> v = {"aya", "ye", "woo", "ma"};

int solution(vector<string> babbling) {
    int answer = 0;
    for(int i=0; i<babbling.size(); ++i){
        string st = babbling[i];
        while(1){
            if(st.substr(0,3)==v[0] || st.substr(0,3)==v[2]){
                st.replace(0,3,"");
            } else if(st.substr(0,2)==v[1] || st.substr(0,2)==v[3]){
                st.replace(0,2,"");
            } else if(st==""){
                answer++;
                break;
            }
            else break;
        }
    }
    return answer;
}