프로그래머스 코딩테스트 - p 와 y 개수 구하기

프로그래머스 - p와 y 개수

내 풀이

function solution(s) {
  let pCount = 0;
  let yCount = 0;
  s = s.toLowerCase();
  for (let i = 0; i < s.length; i++) {
    if (s[i] === "p") pCount++;
    if (s[i] === "y") yCount++;
  }

  return pCount === yCount;
}

대, 소문자 구분 없다고 하니까 모든 문자열 소문자로 변환 후 순회하면서 p, y 개수를 ++ 해주려했다.

다른 사람 풀이

function numPY(s){
    return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}

split 함수를 이용해 나누고 그 갯수를 세버린다는 생각은 하지도 못했다.

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

match 의 정규식을 이용하는 방법도 있었다. 이렇게하면 정규식을 이용하기 때문에 대소문자 변환도 필요없고 깔끔하게 처리 할 수 있다.