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

박기영·2022년 9월 12일
0

프로그래머스

목록 보기
12/159
post-custom-banner

solution

function solution(s){
    let ans = true;
    
    // 대소문자를 구분하지 않기때문에, 모두 소문자로 변환
    s = s.toLowerCase();
    
    let pcount = 0;
    let ycount = 0;
    
    // 배열 관련 메서드를 사용하기 위해 split으로 배열을 만들어줌
    let sArr = s.split("");
    
    // sArr에 p나 y가 있을 경우에만 실행
    while(sArr.includes("p") || sArr.includes("y")){
        // pop, shift 아무거나 사용해도 된다.
        let popedStr = sArr.pop();
        
        if(popedStr === "p"){
            pcount++;
        } else if(popedStr === "y"){
            ycount++;
        }
    }
    
    // p와 y의 개수가 같지않다면 false 반환
    if(pcount !== ycount){
        ans = false;
    };
    
    // 그 외의 상황은 기본적으로 true를 반환한다.
    return ans;
}

다른 분 풀이

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

이 분은 모두 대문자로 바꾸고, P, Y를 기준으로 자른 배열의 길이가 같은 경우나 둘 다 0인 경우에 true,
다른 경우에는 false를 반환하게 하셨다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글