[Programmers] 옹알이(2) - JAVA

최영환·2022년 11월 22일
0

Programmers

목록 보기
7/43
post-thumbnail

💡 문제

💬 입출력 예시

📌 풀이(소스코드)

class Solution {
	public int solution(String[] babbling) {
		int answer = 0;
		String[] words = { "aya", "ye", "woo", "ma" };

		for (int i = 0; i < babbling.length; i++) {
			// 연속된 발음이 있는지 확인
			if (babbling[i].contains("ayaaya") || babbling[i].contains("yeye") || babbling[i].contains("woowoo")
					|| babbling[i].contains("mama")) {
				continue;
			}

			// 가능한 발음을 "?" 로 replace
			for (int j = 0; j < words.length; j++) {
				babbling[i] = babbling[i].replace(words[j], "?");
			}

			// 문자열에서 "?" 제거
			babbling[i] = babbling[i].replace("?", "");

			// 문자열의 길이가 0이면 발음 가능한 문자열
			if (babbling[i].length() == 0) {
				answer++;
			}
		}
		return answer;
	}
}

📄 해설

  • babbling 의 각 원소에 대하여 연속된 발음이 있는지의 여부를 확인하고, 연속된 발음이 있으면 다음으로 넘어가게 하였음
  • 가능한 발음은 전부 ? 로 교체한 뒤, 문자열에서 ? 를 제거
  • 문자열의 길이가 0 이라면, 발음이 가능한 것이므로, answer 의 값을 1 증가
profile
조금 느릴게요~

0개의 댓글