numPY함수는 대문자와 소문자가 섞여있는 문자열 s를 인수로 전달받는다. s에 존재하는 ‘p’의 개수와 ‘y’의 개수를 비교해 같으면 true, 다르면 false를 리턴하도록 함수를 완성하라. 대소문자를 구별하지 않으며 ‘p’, ‘y’ 모두 하나도 없는 경우는 항상 true를 리턴한다.
예를 들어 s가 ‘pPoooyY’면 true를 리턴하고 ‘Pyy’라면 false를 리턴한다.
function numPY(s) {
}
console.log(numPY('pPoooyY')); // true
console.log(numPY('Pyy')); // false
console.log(numPY('ab')); // true
console.log(numPY('')); // true
console.log(numPY()); // true
풀이
function numPY(s) {
if (!s) return true;
const pLength = [...s.toUpperCase()].filter(word => word === 'P').length;
const yLength = [...s.toUpperCase()].filter(word => word === 'Y').length;
return pLength === yLength || !(pLength + yLength) ? true : false;
}
console.log(numPY('pPoooyY')); // true
console.log(numPY('Pyy')); // false
console.log(numPY('ab')); // true
console.log(numPY('')); // true
console.log(numPY()); // true
'JAVASCRIPT > 자바스크립트 알고리즘' 카테고리의 다른 글
자바스크립트 '핸드폰번호 가리기' (0) | 2020.10.24 |
---|---|
자바스크립트 '이상한 문자 만들기' (0) | 2020.10.24 |
자바스크립트 '문자열 다루기' (0) | 2020.10.23 |
자바스크립트 '1 ~ 10,000의 숫자 중 8이 등장하는 횟수 구하기 (Google)' (0) | 2020.10.23 |
자바스크립트 '짝수와 홀수' (0) | 2020.10.23 |