내 풀이
function solution(s) {
let pCount = 0;
let yCount = 0;
s = s.toLowerCase();
for (let i = 0; i < s.length; i++) {
if (s[i] === "p") pCount++;
if (s[i] === "y") yCount++;
}
return pCount === yCount;
}
대, 소문자 구분 없다고 하니까 모든 문자열 소문자로 변환 후 순회하면서 p, y 개수를 ++ 해주려했다.
다른 사람 풀이
function numPY(s){
return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}
split
함수를 이용해 나누고 그 갯수를 세버린다는 생각은 하지도 못했다.
function numPY(s) {
return s.match(/p/ig).length == s.match(/y/ig).length;
}
match
의 정규식을 이용하는 방법도 있었다. 이렇게하면 정규식을 이용하기 때문에 대소문자 변환도 필요없고 깔끔하게 처리 할 수 있다.