![](https://velog.velcdn.com/images%2Fnari120%2Fpost%2F1921b4fa-058b-432b-83b1-f203a1a2724f%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202021-03-30%20%EC%98%A4%ED%9B%84%201.10.58.png)
문제 풀이
- 반복문을 이용해서 문자열 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 는 나눈 문자열의 개수를 반환