//4. 문자열 내 p와 y의 개수
//numPY함수는 대문자와 소문자가 섞여있는 문자열 s를 매개변수로 입력받는다.
// 대소문자를 구별하지 않으며 s에 ‘p’의 개수와 ‘y’의 갯수를 비교해 같으면 true,
// 다르면 false를 리턴하도록 함수를 완성하라. ‘p’, ‘y’ 모두 하나도 없는 경우는 항상 true를 리턴한다. \
// 예를들어 s가 ‘pPoooyY’면 true를 리턴하고 ‘Pyy’라면 false를 리턴한다.

function numPY(s) {
// 인수값이 없으면 true를 반환한다.
if (s === undefined) return true;
// 하나도없으면 true 리턴한다.
// p,y를 대소문자 상관없이 찾아낸다.
var findP = /p/ig;
var findY = /y/ig;
// 배열화한다.
var P = (s.match(findP) || []).length;
var Y = (s.match(findY) || []).length;
return P === Y ? true : false ;
// return P.length === Y.length ? true : false ;

}
console.log('\n4번문제')
console.log(numPY('pPoooyY')); // true




var Y = (s.match(findP) || []).length;

이부분에서 논리합연산자앞이 falsy 하면 뒤에가 실행되는거잔아

이경우에는 배열이아니엿던(object)게 배열이됫는데
어떤이유로 배열이된거임?

- dc official App