k의 개수 Lv. 0

박영준·2023년 6월 6일
0

코딩테스트

목록 보기
225/300
class Solution {
    public int solution(int i, int j, int k) {
        int answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public int solution(int i, int j, int k) {
        int count = 0;
        
        String strK = String.valueOf(k);
        
        for (int a = i; a <= j; a++) {
            String strA = String.valueOf(a);
            
            if (strA.contains(strK)) {
                String[] array = strA.split("");
                
                for (String alpha : array) {
                    if (alpha.equals(strK)) {
                    	count++;
                    }    
                }
            }
        }
        
        return count;
    }
}
  • 배열로 풀이

방법 2

class Solution {
    public int solution(int i, int j, int k) {
        int answer = 0;

        for (int a = i; a <= j; a++) {
            String str = Integer.toString(a);

            for (int b = 0; b < str.length(); b++) {
                if (Integer.toString(k).equals(str.substring(b, b + 1))) {
                    answer++;
                }
            }
        }

        return answer;
    }
}
  • a를 문자열로 변환
  • 문자열 a를 substring으로 하나씩 분리해서, 이것이 문자열로 변환한 k와 동일한지 판단

방법 3

class Solution {
    public int solution(int i, int j, int k) {
        int answer = 0;

        for (int a = i; a <= j; a++){
            int tmp = a;
            
            while (tmp != 0){
                if (tmp % 10 == k) {
                    answer++;
                }    
                tmp /= 10;
            }
        }
        return answer;
    }
}
  • 일의 자리부터 하나씩 떼서 확인

k의 개수 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글