코딩테스트

[2020-11-10] 문자열 내 p와 y의 개수

jun96 2020. 11. 10. 16:03

푼 시간 : 20분

언어 : 자바

 


 

programmers.co.kr/learn/courses/30/lessons/12916

 

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

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

programmers.co.kr

 

문제를 푸는 데는 오래 걸리지 않았다.

그냥 p와 y가 있느냐의 문제였기때문에 toLowerCase를 쓰느냐

toUpperCase를 쓰느냐의 차이였다.

 

이번에도 풀이를 좀 더 간소화하고 싶었으나

못해서 얼른 책을 가져와서 좀 더 공부를 해봐야 되겠다고 느낀다.

 

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        s=s.toLowerCase();
        int p_count=0;
        int y_count=0;
        int count=s.length();
        // s의 길이
        
        for(int i=0; i<count; i++){
            if('p'==s.charAt(i))
            // p개수만큼 카운트
                p_count++;
            else if('y'==s.charAt(i))
            // y개수만큼 카운트
                y_count++;
        }
        
        if(p_count==y_count)
        // 같으면 true
            answer=true;
        else
            answer=false;

        return answer;
    }
}

 

이번 문제는 굉장히 쉬웠으나 코드가 더러워져 좀 불만스럽다.

집에 있는 알고리즘 책을 얼른 보고싶다.