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

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12916

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 이해

주어진 문자열에 p 와 y 의 개수가 같은지 파악하면된다. 단, 대소문자는 구분 안한다.

 

풀이 방법

두 가지 풀이 방법을 생각했다. 

  1. 문자열 인덱스를 돌면서 p 이면 + y 이면 - 해서 연산한 결과가 0 이면 true 아니면 false
  2. 문자열 인덱스를 돌면서 p 인 개수, y 인 개수 일일이 개수를 센다음 비교

1번 방식이 더 심플해보여서 1번으로 방식으로 풀었다!

 

코드 설계

- 문자열을 대문자로 변경

- for 문을 돌면서 해당 문자를 확인

- P 이면 +/ Y 이면 -

- 계산 값이 0 이면 true 아니면 false return

 

코드 구현

function solution(s){
    var answer = true;
    
    s = s.toUpperCase();
    
    let sum = 0;
    
    const strToArray = Array.from(s);
    
    strToArray.forEach((char) => {
        if(char === 'P'){
            sum += 1;
        }
        else if(char === 'Y'){
            sum -= 1;
        }
        else{
            return;
        }
    })

    return sum === 0 ? true : false;
}