알고리즘/Java

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

유리코딩 2021. 11. 11. 23:01
반응형

알고리즘

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


 

1. 문제

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

 

 

2. 풀이

어려운 문제는 아니었는데 .equals()부분에서 한동안 막혀있었다. 나는 계속 ==을 썼었는데 오류가 생긴것!!

알고보니 문자 배열인데 ==를 쓴것이 문제.

== 는 연산자로 비교하고자 하는 대상의 주소값을 비교하고,

equals는 메소드로 객체끼리 내용을 비교한다.

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        int Pcnt = 0;
        int Ycnt = 0;

        //s를 전부 소문자로 변환
        String[] a = s.toLowerCase().split("");

        for(int i=0; i<a.length; i++){
        //p의 개수 구하기
        if(a[i].equals("p")){  
                Pcnt++;
        //y의 개수 구하기
            } else if(a[i].equals("y")){
                Ycnt++;
            }
        }

        //비교해서 true/false
        if(Pcnt == Ycnt){
            answer = true;
        } else {
            answer = false;
        }
        return answer;
    }
}

 

다른 풀이방법이 다양하지만 그중에 람다식으로 풀었다고 하는 방법이 눈에 띈다!

람다를 공부해보고 풀이법을 리뷰해봐야겠다!

반응형