알고리즘
[프로그래머스] 옹알이(1)
winwin-k9
2023. 8. 20. 17:08
문제
머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다.
문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
풀이
옹알이에 해당하는 배열을 다른 문자로 치환해 주어서 해결하면 된다.
주의 할 점음 빈칸으로 치환하면 문제가 생긴다는 것이다.
가령 ymae
라는 문자가 있다고 하자.
이때 ma라는 단어만 발음 할 수 있으므로 답은 1이다.
그러나, ma를 빈칸으로 대체하면 결국y와 e가 붙어서 ye
가 발음이 된다고 판단하기에 이를 주의해야 한다.
따라서 필자는 콤마로 대체하여 split을 해도 길이가 0이면 이를 발음이 가능하다고 하였다.
import java.lang.*;
import java.util.*;
class Solution {
static String[] str ={"aya", "ye", "woo", "ma"};
public int solution(String[] babbling) {
int answer = 0;
for(String s : babbling) {
for(int i = 0; i < 4; i++) {
s = s.replaceAll(str[i], ",");
}
String[] resultStr = s.split(",");
if (resultStr.length == 0) {
answer++;
}
}
return answer;
}
}
https://github.com/Win-9/Algorism/tree/main/programers/%EC%98%B9%EC%95%8C%EC%9D%B4(1)
728x90