[프로그래머스 lev1/JS] 문자열 내 p와 y의 개수

woolee의 기록보관소·2022년 10월 22일
0

알고리즘 문제풀이

목록 보기
7/178

문제 출처

프로그래머스 lev1 - 문자열 내 p와 y의 개수

문제 요약

대문자와 소문자가 섞여있는 문자열 s에 대해서,
문자열 'p'의 개수와 'y'의 개수가 같으면 true 반환, 다르면 false 반환하기.

'p'와 'y' 모두 없으면 항상 true 반환하기. + 대소문자 구별하지 않기.

나의 풀이

for문을 순회하면서 p를 만나면 ++, y를 만나면 --

function solution(s){
  let cnt=0; 
  s=s.toLowerCase().split('');
  for (let x of s) {
    if (x==='p') cnt++; 
    else if (x==='y') cnt--; 
  }
  
  if (cnt !== 0) return false; 
  else return true; 
}

console.log(solution("pPoooyY"));

다른 풀이

메서드를 통해 길이로 비교하기

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

console.log(solution("pPoooyY"));

문자열 탐색 메서드 match.
마찬가지로, 길이로 비교하기.

function numPY(s) {
  return s.match(/p/ig).length == s.match(/y/ig).length;
}
profile
https://medium.com/@wooleejaan

0개의 댓글