본문 바로가기
IT/Algorithm

프로그래머스(Programmers) 문자열 내 p와 y의 개수(java)

by flatsun 2019. 8. 10.
반응형

프로그래머스 

문제명 : 문자열 내 p와 y의 개수

언어 : 자바(java)

 

문자열 내에 있는 p와 y를 받아서 갯수가 동일한지 확인하고

동일하면 true, 동일하지 않으면 false를 반환하면 되는데

 

p와 P, y와 Y는 다르므로

 

체크 시에 값이 p,P일 경우 체크하게 만들거나

혹은 문자열을 전부 대문자 혹은 소문자로 만들어서 체크하게 하면 된다

 

내가 푼 방법은 다음과 같은데

 

먼저 문자열을 받아온 뒤 대문자로 만들어 준다

 

대문자는 문자열.toUpperCase(); 로 변환할 수 있다

소문자로 바꾸려면 문자열.toLowerCase(); 를 사용해 주면 된다

 

이후에 for 문을 돌려서 한글자씩 비교하는데

P나 Y가 있을 경우 숫자를 올려주고

 

마지막으로 if문에서 P와 Y 갯수가 같을 경우에는 true 아니면 false를 반환한다

프로그래머스 답에 바로 적용하려면 아래 코드를 복사 붙여넣기 하면 된다

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        int sNum = 0;
        int yNum = 0;
        
        s = s.toUpperCase(); // 모두 대문자로 만든다
        
        for(int i = 0; i<s.length(); i++) {
        	if(s.substring(i, i+1).equals("P")) { // P가 있을 경우
        		sNum++;
        	} else if(s.substring(i, i+1).equals("Y")) { // Y가 있을 경우
        		yNum++;
        	}
        }
        
        if(sNum == yNum) { // 추가된 값 비교하여 동일할 시 true
        	answer = true;
        } else { // 동일하지 않을 시 false
        	answer = false;
        }

        return answer; // 값 반환
    }
}
반응형

댓글