본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.0

[프로그래머스 - JAVA] 369게임

by 코딩하는 흰둥이 2023. 3. 11.

 

  • 내 풀이
class Solution {
    public int solution(int order) {
        int answer = 0;
        
        String word = "" + order;

        for (int i = 0; i < word.length(); i++) {
            if("369".contains(String.valueOf(word.charAt(i)))){
                answer++;
            }
        }
        return answer;
    }
}

나머지를 구하는 방식도 사용하였는데 다른 분들의 코드 참고.

대부분 풀이는 나머지를 구하는 방식이거나 equals 또는 charAt 비교였다.

나처럼 contains 사용하신분이 안보이던데...연산 차이가 좀 있으려나??

 

  • 다른 사람 풀이
class Solution {
    public int solution(int order) {
        int answer = 0;

        while (order >= 1) {
            if (order % 10 == 3 || order % 10 == 6 || order % 10 == 9) answer ++;
            order /= 10;
        }

        return answer;
    }
}




import java.util.Arrays;

class Solution {
    public int solution(int order) {
        return (int) Arrays.stream(String.valueOf(order).split("")).map(Integer::parseInt).filter(i -> i == 3 || i == 6 || i == 9).count();
    }
}

 

댓글