반응형
1. 문제
머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
*문제 원본은 '문제링크' 참고
2. 문제 해석
1) 4개의 keyword를 가지고 조합하여 발음 가능한 단어의 개수 카운팅
2) 문제 해결을 위한 접근 방식
아래의 2가지 방식이 떠올랐으나, 정규식 표현을 이용한 방법을 택함 (이유: 코드 단순화)
(1) 발음 가능한 단어를 배열화하여, 주어진 단어를 비교한다.
(2) 정규식 표현을 이용하여, 주어진 단어을 비교한다.
🔎 3. 작성 코드 (기능별 접근에 초점)
import java.util.regex.*;
public class Solution {
public int solution(String[] babbling) {
int count = 0;
// 용도: 발음할 수 있는 단어의 개수를 저장하는 변수
for (String word : babbling) {
if (isValidWord(word)) {
count++;
}
}
return count;
}
// isValidWord 메소드 생성(기능: 주어진 문자열이 발음 가능한 단어인지 확인)
private boolean isValidWord(String word) {
String pattern = "^(aya|ye|woo|ma)+$";
return Pattern.matches(pattern, word);
}
}
반응형
'프로그래머스' 카테고리의 다른 글
SQL - 상품을 구매한 회원 비율 구하기_JOIN (0) | 2023.05.24 |
---|---|
SQL - 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기_JOIN (0) | 2023.05.22 |
SQL - 보호소에서 중성화한 동물_JOIN (0) | 2023.05.19 |
SQL - 오프라인/온라인 판매 데이터 통합하기_SELCT (0) | 2023.05.19 |
SQL - 서울에 위치한 식당 목록 출력하기_SELECT (0) | 2023.05.19 |