알고리즘

프로그래머스 - 문자열 내 p와 y의 개수

Heidong 2022. 6. 9. 22:54
반응형

 

내 풀이

public class P_26 {
	
	boolean solution(String s) {
        boolean answer = false;
        int p = 0;
        int y = 0;
        
        String [] x = s.split("");
        for(int i=0; i<x.length; i++) {
        	if(x[i].equalsIgnoreCase("y")) {
        		y++;
        	} else if(x[i].equalsIgnoreCase("p") ) {
        		p++;
        	} 
        }
        
        if(p == 0 && y == 0) {
        	return true;
        } else if(p == y) {
        	return true;
        }
        
        return answer;
    }

	public static void main(String[] args) {
		// 문자열 내 p와 y의 개수
		
		P_26 p = new P_26();
		
		String x = "pPoooyY";
		
		System.out.println(p.solution(x));
		
	}

}

 

다른 사람 풀이

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

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

s를 전부 대문자로 만들어서 통일 시킴 (소문자로 해도 됨)

chars() 메소드로 전부 char형태로 바꾼후 람다의 filter를 이용해서 

매개변수 e가 P와 같다면 카운팅을 함 이 결과값이 P를 구한 과정과 같은 Y를 카운팅한 값과 같다면

true를 반환함.

반응형