프로그래머스 - 옹알이 (1)
https://school.programmers.co.kr/learn/courses/30/lessons/120956
프로그래머스 오늘의 연습문제에 떴길래 풀어봤다.
Lv0이라고 되어있는데.. Lv0 수준은 아닌 듯..?
이전의 Lv0은 두 수의 덧셈구하기 이런 수준이었는데 문제나 한 번 보려고 들어갔다가 그냥 풀어봤다.
class Solution { public static String[] babblingArray = {"aya", "ye", "woo", "ma"}; public int solution(String[] babbling) { int answer = 0; for(String bab : babbling){ for(String str : babblingArray) { bab = bab.replaceFirst(str, " "); } if(bab.replaceAll(" ","").equals("")) answer++; } return answer; } }
발음할 수 있는 단어들을 babblingArray로 따로 빼놓고, 각각 비교해서 " "(공백)으로 replace 했다.
대체가 아니라 remove를 해버리면 "yayae"처럼 중간 aya를 지웠을 때, ye가 남으면서 발음가능한 것으로 판단되어서 공백으로 넣어줬는데 다른 문자로 대체해도 된다.
조건 중 주의해야 할 점은 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못한다는 것이다.
"ayaaya"처럼 연속된 발음은 하지 못 하는 것인데, 한 번만 제거하도록 replaceFirst를 사용했다.
그리고 확인할 땐 대체표시인 공백을 모두 지웠을 때 남는 값이 없으면 발음가능한 것으로 판단했다.