코린이의 소소한 공부노트

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

코딩테스트 풀이/JAVA

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

무지맘 2022. 11. 25. 23:57

1. Input

1) 대문자와 소문자가 섞여있는 문자열 s

 

2. Output

1) s'p'의 개수와 'y'의 개수를 비교해 같으면 true, 다르면 false를 반환

 

3. Constraint

1) 'p', 'y' 모두 하나도 없는 경우는 true 반환

2) 개수를 비교할 때 대소문자를 구별하지 않는다.

3) 문자열 s의 길이 : 50 이하의 자연수

4) s는 알파벳으로만 이루어져 있다.

 

4. Example

Input: s=“pPoooyY” -> Output: true

Input: s=“pyy” -> Output: false

 

5. Code

1) 첫 코드(2022/??)

s = s.toLowerCase();
int p=0, y=0;
for(int i=0 ; i<s.length() ; i++) {
    if(s.charAt(i) == 'p') p++;
    else if(s.charAt(i) == 'y') y++;
}
return p==y;

  - p, y대신 변수를 1개로만 설정해 'p'일때 +1, 'y'일때 -1을 해서 return문에서 값이 0인지 체크하는 방법도 괜찮은 듯. 속도는 비슷하나 메모리 사용량이 약간 줄어듦