https://school.programmers.co.kr/learn/courses/30/lessons/12916?language=java
풀이 - 나의 생각
String 함수 중 replaceAll을 활용하면 아주 쉽게 해결됩니다.
저 같은 경우 toLowerCase()를 사용했지만
replaceAll("[P,p,Y,y]","") 를 사용하면
P, p, Y, y가 모두 삭제되고
replaceAll("[^P,p,Y,y]","") 를 사용하면
P, p, Y, y를 제외한 문자를 모두 삭제합니다.
아무튼 저는 다 소문자로 바꾸고
p, y을 제외한 문자를 삭제했습니다.
그 후 p를 제외한 문자열 길이와 y를 제외한 문자열 길이가
짝수가 아니면 False를 반환하게 하였습니다.
하지만 이외에도
p를 제외한 문자열과 y를 제외한 문자열의 길이의 차가 0이 아니면
False를 반환하게 해도 됩니다.
코드
class Solution {
boolean solution(String s) {
boolean answer = true;
s = s.toLowerCase();
s = s.replaceAll("[^p,y]","");
if(s.length() == 0) return answer;
else if(s.length()%2!=0) return false;
if(s.replaceAll("[p]","").length() == s.replaceAll("[y]","").length()) return true;
return false;
}
}
728x90
'프로그래머스 > Lv.1' 카테고리의 다른 글
코딩테스트 연습 > 대충 만든 자판 Pyton (0) | 2024.10.25 |
---|---|
정수 제곱근 판별 - JAVA, double과 long 비교 (0) | 2024.05.25 |
코딩테스트 연습 > 푸드 파이트 대회 - JAVA (문자열 뒤집기) (0) | 2024.02.24 |
코딩테스트 연습 > 덧칠하기 - JAVA (0) | 2024.02.23 |
코딩테스트 연습 > 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈 (제곱근 Math.sqrt) (0) | 2024.02.22 |