문제 풀이
- 반복문을 이용해서 문자열 s의 길이만큼 한 문자씩 비교
- p or P일 경우 pnum을 하나씩 증가
- y or Y일 경우 ynum을 하나씩 증가
- pnum과 ynum이 같다면 true, 아니라면 false 반환
코드
function solution(s){
let pnum = 0;
let ynum = 0;
for (let i = 0; i < s.length; i++)
{
if (s.charAt(i) == 'p' || s.charAt(i) == 'P')
pnum++;
else if (s.charAt(i) == 'y' || s.charAt(i) == 'Y')
ynum++;
}
return pnum === ynum ? true : false;
}
다른 분의 깔끔한 코드
function solution(s) {
return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}
- 대소문자 구분을 없애기 위해서 toUpperCase()로 모두 대문자로 변환
- split("P"), split("Y") : P 또는 Y를 기준으로 문자를 나눔
- .length 는 나눈 문자열의 개수를 반환