[Java] programmers-"문자열 내 p와 y의 개수"

김빛나리·2022년 1월 3일

문제 설명

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



제한사항

  • 문자열 s의 길이 : 50 이하의 자연수
  • 문자열 s는 알파벳으로만 이루어져 있습니다.


입축력 예

sresult
"pPoooyY"true
"Pyy"false


알고리즘

  1. 문자열 길이만큼 for문을 돌리고 .charAt() 함수를 통해서 해당 문자가 p나 P면은 pCnt를 증가시키고, y나 Y면은 yCnt를 증가시킨다.
  2. 자바에는 조건 연산자가 존재하는데, '조건식? 결과1: 결과2;' 구조로 조건식이 ture이면 결과1을 실행하고 false면 결과2를 실행한다. 이 연산자를 통해 코드를 간단하게 만든다.


내 소스 코드

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        int pCnt = 0, yCnt = 0;
        
        for(int i=0;i<s.length();i++) {
            if(s.charAt(i) == 'p' || s.charAt(i) == 'P') pCnt++;
            else if(s.charAt(i) == 'y' || s.charAt(i) == 'Y') yCnt++;
        }

        answer = pCnt==yCnt ? true : false;

        return answer;
    }
}

0개의 댓글