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

 

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

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

programmers.co.kr

 

 

문제 분석

- 입력받은 문자열 s를 char배열로 반환하여 각 배열의 값이 'p', 'y'에 해당하면 각각 개수를 비교하여 개수가 다른 경우 false처리하고 나머진 true처리한다.

 

 

문제 풀이

1. 입력받은 문자열 s를 toCharArray()함수를 통해 char배열로 반환한다.

2. for문을 통해 각 배열의 값을 탐색하고 'p'와 'y'의 개수를 체크한다.

3. 만약 'p'와 'y'의 개수가 다를 경우 false를 반환하고 아니면 true를 반환한다.

class Solution {
    boolean solution(String s) {
        boolean answer = true;

        char[] cArray = new char[s.length()];
        cArray = s.toCharArray();
        int pCnt = 0;
        int yCnt = 0;
        
        for(int i=0;i<cArray.length;i++){
            if(cArray[i]=='p' || cArray[i]=='P'){
                pCnt++;
            }else if(cArray[i]=='y'|| cArray[i]=='Y'){
                yCnt++;
            }
        }
        
        if(pCnt!=yCnt){
            answer=false;
        }
        
        return answer;
    }
}

 

 

https://github.com/SOEUN2/Algorithm