본문 바로가기

문제 풀이/Programmers

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

문제 출처 - Programmers

문제는 여기

 

코딩테스트 연습 - 문자열 내 p와 y의 개수

대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를

programmers.co.kr


[풀이]

1. toLowerCase()를 사용해 입력받은 문자열을 소문자로 바꿔준다.

2. 문자열을 1 글자씩 체크해 p와 y 각각의 개수를 구해준다.

3. p와 y의 개수가 같으면 true 아니라면 false를 출력해준다.

[접근]

1. 문자열을 소문자로 바꿔준 후 p와 y의 개수를 구해서 결과를 출력하면 되겠다고 생각하였다.

[코드]

class Solution {
    boolean solution(String s) {
        int p = 0;
        int y = 0;
        boolean answer = true;
        
        // 전부 소문자로 변경
        s = s.toLowerCase();

        // p와 y의 개수 세기
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            
            if (c == 'p')
                p++;
            else if (c == 'y')
                y++;
        }
        
        // 갯수가 같으면true 아니면 false
        answer = p == y ? true : false;

        return answer;
    }
}