문자열 내 p와 y의 개수 (Level 1)

문제

numPY함수는 대문자와 소문자가 섞여있는 문자열 s를 매개변수로 입력받습니다.

s에 ‘p’의 개수와 ‘y’의 개수를 비교해 같으면 True, 다르면 False를 리턴하도록 함수를 완성하세요.

‘p’, ‘y’ 모두 하나도 없는 경우는 항상 True를 리턴합니다.

예를들어 s가 “pPoooyY”면 True를 리턴하고 “Pyy”라면 False를 리턴합니다.

풀이

function numPY(s){
  if ( s.match(/p/gi).length == s.match(/y/gi).length ) {
    return true
  } else if ( /p|y/gi == 0 ) {
      return true
  } else {
    return false
  }
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log( numPY("pPoooyY") )
console.log( numPY("Pyy") )

s에서 p와 y가 매치되는 배열의 길이가 같을 때, p와y의 개수가 0개일 때, 나머지 경우로 나눠 조건문 생성

다른 사람의 풀이

function numPY(s) {
  return s.match(/p/ig).length == s.match(/y/ig).length;
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log( numPY("pPoooyY") )
console.log( numPY("Pyy") )

그냥 첫줄만 써주면 되는거였다..

p, y 둘다 0인경우도 어짜피 0으로 동일하기 때문에 두 조건을 합쳐주고 나머지는 자동으로 false가 리턴되도록 작동함.


+ Recent posts