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

Benjamin·2023년 3월 3일
0

프로그래머스

목록 보기
32/58

내 풀이

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        String sCopy = s;
        int pBefore = s.length();
        s= s.replaceAll("P","");
        s =s.replaceAll("p","");
        int pAfter = s.length();
        int yBefore = sCopy.length();
        sCopy = sCopy.replaceAll("Y","");
        sCopy = sCopy.replaceAll("y","");
        int yAfter = sCopy.length();
        if( pBefore - pAfter != yBefore - yAfter) answer = false;
        return answer;
        
    }
}

다른 풀이 1

class Solution {
    boolean solution(String s) {
        s = s.toUpperCase();

        return s.chars().filter( e -> 'P'== e).count() == s.chars().filter( e -> 'Y'== e).count();
    }
}

다른 풀이 2

class Solution {
    boolean solution(String s) {
        s = s.toLowerCase();
        int count = 0;

        for (int i = 0; i < s.length(); i++) {

            if (s.charAt(i) == 'p')
                count++;
            else if (s.charAt(i) == 'y')
                count--;
        }

        if (count == 0)
            return true;
        else
            return false;
    }
}

대소문자 구분이 없다했으니, 문자열을 모두 대문자 혹은 소문자로 바꾼 후 진행하면 깔끔하다.

0개의 댓글