본문 바로가기
문제 풀이/Programmers

[프로그래머스] 12916번: 문자열 내 p와 y의 개수 (JavaScript)

by Electrohyun 2025. 6. 2.


 

생각 과정

 

p, P의 개수 / y, Y의 개수 확인하기. 같으면 true

 

둘 다 없으면 true

 

그 외 전부 false

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function solution(s){
    let countP = 0;
    let countY = 0;
 
    for (i = 0; i < s.length; i++) {
        if (s[i] === 'p' || s[i] === 'P') {
            countP++;
        }
        if (s[i] === 'y' || s[i] === 'Y') {
            countY++;
        }
    }
 
    if (countP === countY || !countP && !countY) {
        return true;
    }
 
    return false;
}
cs

 

 

알게 된 것들

 

1. 변수명 (numP -> countP)

- 클린 코드 (Meaningful Names)

- 변수/함수가 무엇을 하는지 이름만 보고 짐작 가능해야 한다.

 

2. 비교는 엄격하게!!!

 

3. if (countP === countY || !countP && !countY) 부분에 대해

- &&가 ||보다 연산 순위 높음

- 의도치 않게 작동할 수 있었다.

- !countP && !countY 부분에 소괄호 적어주거나

- 아예 (countP || 0) === (countY || 0); 같은 생각도 가능