카테고리 없음

[JAVA] 프로그래머스 코딩테스트 연습문제 풀이 - "369 게임" / 정수의 문자열화

이민재 2022. 11. 2. 12:49

 문제

머쓱이는 친구들과 369 게임을 하고 있습니다. 369 게임은 1부터 숫자를 하나씩 대며 3,6,9가 들어가는 숫자는 숫자 대신 3,6,9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.

 풀이

※ 이 해답은 정답이 아니고 공부했던 내용을 아카이빙하기 위한 용도입니다.

이 문제는 크게 두가지 방법으로 풀 수 있습니다.

첫번째는 반복문을 돌리면서 주어지는 order를 10으로 나눈 몫을 임시 변수 temp에 저장하고 
그 나머지가 3 혹은 6 혹은 9인지 판별해 준 후 맞다면 answer를 1 더해주면 됩니다.

두번째는 order를 문자열로 변환한 후에 문자열.charAt(i)를 이용해
'3', '6', '9' 와 비교한 후 맞다면 answer를 1을 더해주는 방식이 있겠다.

class Solution {
    public int solution(int order) {
        int answer = 0;
        // 이번에도 문자열로 변환한 뒤에 같은 숫자가 나올때마다 카운트 쌓이는 식으로 answer의 
        //값을 1씩 더해주는 코드를 짤 생각
        
        // JAVA에서는 반복문의 길이를 지정해줘야만 하므로 order를 문자열로 변환한 변수를 생성한다.
        String or = Integer.toString(order);
        
        for(int i = 0; i<or.length(); i++){
            if( or.charAt(i)=='3' || or.charAt(i)=='6' || or.charAt(i)=='9'){
                answer++;
            }
        }
        
        return answer;
    }
}