프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
1. [프로그래머스/JAVA 자바] 옹알이 (1) — dlrdyd97 (tistory.com) 의 응용문제.
2. 옹알이 ( 1 ) 의 문제풀이에서 연속으로 같은 발음을 하는 경우 카운트를 X 해주면 된다. ( "ayaaya" , "yeeyee" 등... )
나의풀이 ( 코드 )
class Solution {
public int solution(String[] babbling) {
String[] pronunciation = { "aya", "ye", "woo", "ma" };
int answer = 0;
for (int i = 0; i < babbling.length; i++) {
if (check(i, babbling, pronunciation)) {
continue;
}
for (int j = 0; j < pronunciation.length; j++) {
babbling[i] = babbling[i].replace(pronunciation[j], "1");
}
babbling[i] = babbling[i].replace("1", "");
if (babbling[i].length() == 0) {
answer++;
}
}
return answer;
}
static public boolean check(int a,String[] babbling, String[] pronunciation) {
for (int i = 0; i < pronunciation.length; i++) {
if (babbling[a].contains(pronunciation[i] + pronunciation[i])) {
return true;
}
}
return false;
}
}
정규식을 이용한 풀이
import java.util.regex.Pattern;
class Solution {
public int solution(String[] babbling) {
String[] pronunciation = { "aya", "ye", "woo", "ma" };
int answer = 0;
for (int i = 0; i < babbling.length; i++) {
for (int j = 0; j < 4; j++) {
babbling[i] = babbling[i].replace(pronunciation[j], String.valueOf(j));
}
boolean fdzz = Pattern.matches(".*[a-zA-Z].*", babbling[i]);
if (!fdzz) {
if (babbling[i].contains("00") || babbling[i].contains("11") || babbling[i].contains("22")
|| babbling[i].contains("33")) {
continue;
}
answer++;
}
}
return answer;
}
}'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스/JAVA 자바] 로또의 최고 순위와 최저 순위 (0) | 2024.04.17 |
|---|---|
| [프로그래머스/JAVA 자바] [1차] 다트 게임 (0) | 2024.04.16 |
| [프로그래머스/JAVA 자바] 옹알이 (1) (0) | 2024.04.15 |
| [프로그래머스/JAVA 자바] 실패율 (0) | 2024.04.15 |
| [프로그래머스/JAVA 자바] [1차] 비밀지도 (0) | 2024.04.15 |