Backend
home
👶🏻

[프로그래머스] 옹알이 (2)

생성일
2025/01/30 07:49
태그
Programmers
게시일
2025/01/30
최종 편집 일시
2025/02/01 07:45

문제

해결 방안 고민

처음에는 {”aya”, “ye”, “woo”, “ma”} 배열을 따로 만들어서 babbling 배열을 순회하며 머쓱이가 발음할 수 있는 경우의 수를 찾으려고 했으나 babbling 배열 요소 중에 “aya”, “ye”, “woo”, “ma” 가 존재하는 경우만 고려하여 빈칸 처리를 해주는 형태로 문제를 해결하면 되는 문제였다.

해결 방법

1.
babbling 배열을 순회하며 먼저 예외 처리를 해준다.
a.
”ayaaya”, “yeye”, “woowoo”, “mama” 처럼 연속된 발음 제외
2.
“aya”, “ye”, “woo”, “ma” 단어를 찾아 공백으로 처리한다.
3.
만약에 babbling[i]의 요소 길이가 0이면 모두 발음한 경우이므로 answer에 1을 더해준다.
4.
answer 를 반환한다.

코드

class Solution { public int solution(String[] babbling) { // babbling 배열을 순회하며 먼저 예외 처리를 해줌("ayaaya", "yeye", "woowoo", "mama") // {"aya", "ye", "woo", "ma"} 단어를 찾아 공백으로 처리 // 길이가 0이 될 경우 모두 발음한 경우 이므로 answer++; // answer 를 반환 int answer = 0; 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; } babbling[i] = babbling[i].replace("aya", " "); babbling[i] = babbling[i].replace("ye", " "); babbling[i] = babbling[i].replace("woo", " "); babbling[i] = babbling[i].replace("ma", " "); babbling[i] = babbling[i].replace(" ", ""); if (babbling[i].isEmpty()) { answer++; } } return answer; } }
Java
복사