반응형

1. 문제 설명

- 대문자와 소문자가 섞여있는 문자열 s가 주어집니다.

- s에 'p'의 개수'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요.

- 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다.

- 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.

- 예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다.

 

 

2. 제한사항

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

- 문자열 s는 알파벳으로만 이루어져 있습니다.

 

 

3. 입출력 예

 

s return
"pPoooyY" true
"Pyy" false

 

 

4. 문제 풀이 코드

class Solution {

    boolean solution(String s) {
    
        boolean answer = false;
        char s_char;
        int count_p = 0;
        int count_y = 0;

        for( int i = 0; i < s.length(); i++ ) {
        
            s_char = s.charAt(i);
            
            if( s_char == 'p' || s_char == 'P' ) {
            
                count_p++;
                
            } else if( s_char == 'y' || s_char == 'Y' ) {
            
                count_y++;
            }
            
        }
        
        if( count_p == count_y ) {
        
            answer = true;
            
        }

        return answer;
        
    }
    
}

 

- for문에 charAt 함수를 사용하여 문자열을 한 글자씩 받았습니다.

- s_char가 "p" 혹은 "P" 일 경우에는 count_p에 1을 더했습니다.

- s_char가 "y" 혹은 "Y" 일 경우에는 count_y에 1을 더했습니다.

- 마지막으로 count_p의 값과 count_y의 값이 같은 경우 true를 반환했습니다.

 

 

 


이상으로 프로그래머스 Level 1. 완주하지 못한 선수 문제를 JAVA 언어로 풀어보았습니다.


 

반응형