Don't be afraid of challenges

[프로그래머스] Lv.1 문자열 내 p와 y의 개수 -js 본문

이것이 코딩테스트다

[프로그래머스] Lv.1 문자열 내 p와 y의 개수 -js

초아롱 2024. 4. 14. 19:40

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

 

프로그래머스

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

programmers.co.kr

 

 

나의 풀이 (1)
function solution(s){
    let py = [0,0];
    let arr = s.split("").map((s)=> s.toLowerCase());
    for(let i =0; i<arr.length; i++){
         if(arr[i] ==="p") py[0]++; 
        else if(arr[i]==="y") py[1]++;
    }
    return py[0] ===py[1] ? true : false;
}

 

일단 대문자와 소문자 구분해서 개수구하는게 아니라 처음에 소문자로 다 통일 시켜주었다

그래서 for문을 통해 "p" "y"의 개수를 각각 더해줬는데 코드가 뭔가 ... 뭔가 더러워 보여서 더 깔끔하게 할 수 있는 방법을찾아야할것 같다

 

나의 풀이 (2)
function solution(s){
    let py = [0,0];
    let arr = s.split("").map((s)=> s.toLowerCase()).map((v,i)=>{
        if(v ==="p") py[0]++; 
        else if(v === "y") py[1]++;
    });
    return py[0] ===py[1] ? true : false;
}

 

한번 더 풀어보았는데 이전코드보다 훨씬 깔끔한것 같다 !