문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12916

제한 사항

입출력 예

풀이
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class Solution {
boolean solution(String s) {
Pattern patternP = Pattern.compile("p|P");
Pattern patternY = Pattern.compile("y|Y");
return getCount(patternP, s) == getCount(patternY, s);
}
int getCount(Pattern pattern, String s) {
int count = 0;
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
matcher.group();
count++;
}
return count;
}
}
후기
그냥 단순히 for문 돌려서 charAt()으로 풀 수도 있었는데 그냥 Pattern이랑 Matcher 연습을 위해 이걸로 풀었다.
처음에 제출하니까 틀려서 어디가 틀렸지... 하고 코드를 봤는데 아무리 봐도 틀린데가 없어서 문제를 다시 봤더니 p, y만이 아니라 P랑 Y도 포함시키는 거였다... 이래서 문제를 꼼꼼히 잘 읽어야 한다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 2] 피보나치 수 (0) | 2023.08.11 |
|---|---|
| [프로그래머스][JAVA][Lv. 2] 다음 큰 숫자 (0) | 2023.08.11 |
| [프로그래머스][JAVA][Lv. 1] 약수의 합 (0) | 2023.08.10 |
| [프로그래머스][JAVA][Lv. 2] 숫자의 표현 (0) | 2023.08.10 |
| [프로그래머스][JAVA][Lv. 2] 이진 변환 반복하기 (0) | 2023.08.09 |