문자열 내 p와 y의 개수(자바스크립트)_프로그래머스

Jason Moon·2022년 5월 14일
0

알고리즘

목록 보기
2/8

문제 설명

대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.

제한 조건

문자열 s의 길이 : 50 이하의 자연수
문자열 s는 알파벳으로만 이루어져 있습니다.

입출력 예
s answer
"pPoooyY" true
"Pyy" false

풀이👌

function solution(s) {
  let answer;
  let countP = 0;
  let countY = 0;
  for (let i = 0; i < s.length; i++) {
    if (s[i].toUpperCase() === 'P') {
      countP++;
    } else if (s[i].toUpperCase() == 'Y') {
      countY++;
    }
  }
  if (countP === countY) {
    answer = true;
  } else {
    answer = false;
  }

  return answer;
}
console.log(solution('pPYPyy'));

접근 방식🤔

문자열을 배열로 만들어서 반복문을 돌리면서 P,Y의 갯수를 구하고 그 수들을 비교하면 되지 않을까 생각했다.
근데 문자열을 배열로 어떻게 만들지 생각하다 문자열도 배열처럼 인덱스로 각 문자 요소에 접근이 가능하다는걸
알게됐고 굳이 배열로 만들지 않고 풀 수 있었다.

회고🤓

다른 사람들 풀이를 보면 아주 간단히 풀었는데 아직은 가장 생각하기 쉬운 방식으로 문제를 풀고있다.
변수 P와 Y를 나눠줄 필요없이 예를 들어 num이라는 하나의 변수만 지정하고 P의 갯수 만큼은 더하고 Y의 갯수만큼은 빼줘서 0이면 true를 리턴하게 했다면 더 간단하게 할 수 있었다. 여기까지는 한 번쯤 생각해볼 수 있었을꺼 같다.

📙 추가 공부

[...문자열]로 문자열을 배열로 만드는 법
문자열 메서드

profile
어려워 보여도 시간을 들여서 해보면 누구나 할 수 있는 일이다

0개의 댓글

관련 채용 정보