문자열 s에 포함된 p와 y의 개수를 비교하는 문제이다.
p와 y의 개수가 같으면 truefalsep, y가 모두 없다면 개수가 0으로 같으므로 true이다.p, y의 개수를 각각 저장문자열을 처음부터 확인하면서 p가 나오면 pCount를 증가시키고, y가 나오면 yCount를 증가시킨다.
마지막에 두 변수의 값이 같은지 비교한다.
pCount == yCount
count로 비교p가 나오면 +1, y가 나오면 -1을 한다.
p → +1
y → -1
class Solution {
boolean solution(String s) {
// 대소문자 구분을 없애기 위해 모두 소문자로 변환
s = s.toLowerCase();
int pCount = 0;
int yCount = 0;
// 문자열을 처음부터 확인
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch == 'p') {
pCount++;
} else if (ch == 'y') {
yCount++;
}
}
// p와 y의 개수가 같으면 true
return pCount == yCount;
}
}
class Solution {
boolean solution(String s) {
int count = 0;
// s.charAt(i)는 문자열을 글자 한글자 씩 쪼개서 가져옴
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == 'p' || c == 'P') {
count++;
} else if (c == 'y' || c == 'Y') {
count--;
}
}
return count == 0;
}
}
