https://programmers.co.kr/learn/courses/30/lessons/12916
0.02ms
class Solution {
boolean solution(String s) {
s = s.toLowerCase();
int p = 0, y = 0;
char[] arr = s.toCharArray();
for (char ch : arr) {
if (ch == 'p') p++;
else if (ch == 'y') y++;
}
if (p == y)
return true;
else
return false;
}
}
마지막 if 문은 삼항연산자로 가능
return p == y ? true : false;
return p == y;도 가능
0.02ms
class Solution {
boolean solution(String s) {
s = s.toLowerCase();
int cnt = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'p') cnt++;
else if (s.charAt(i) == 'y') cnt--;
}
return cnt == 0;
}
}
s.charAt(i) 를 사용하여 String의 문자를 탐색return cnt == 0;class Solution {
boolean solution(String s) {
s = s.toLowerCase();
return s.chars().filter(e -> e == 'p').count() == s.chars().filter(e -> e == 'y').count();
}
}
s.chars() : String -> IntStreamfilter() 함수 사용count() : 스트림의 요소 개수