🔍 문제
- 대문자와 소문자가 섞여있는 문자열 s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return
- 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴
- 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
- 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return
⌨️ 입출력 예시
🙋♀️ 내가 푼 방식
- filter 써보려다가 길이를 구해야해서 배열 안에 넣어줘야 했기 때문에
- forEach로 돌며 p, P, y, Y랑 일치하는 문자 찾아 배열에 넣어주었다!
function solution(s){
// 파라미터 s의 문자열을 넣어줄 배열
let arr = [];
// 'p', 'y' 길이 넣어줄 변수
let pArr = [];
let yArr = [];
// 파라미터 s 문자열을 배열에 넣어주기
arr = [...s];
// console.log(arr);
// arr 배열을 돌면서
arr.forEach((str)=> {
// 만약 arr 하나하나 중에 p 또는 P랑 같다면
if(str === 'p' || str === 'P') {
// 그 글자를 pArr에 넣어주기
pArr.push(str);
// 그게 아니고 만약 arr 하나하나 중에 y 또는 Y랑 같다면
} else if(str === 'y' || str === 'Y') {
// 그 글자를 yArr에 넣어주기
yArr.push(str);
}
})
// console.log(pArr);
// console.log(yArr);
// p, P가 들어있는 배열의 길이와
// y, Y가 들어있는 배열의 길이 비교해서 같으면
if(pArr.length === yArr.length) {
// true 값 반환
return true;
// 같지 않으면 false 반환
} else {
return false;
}
}