본문 바로가기

Java/프로그래머스

[JAVA] 프로그래머스 - k의 개수

https://school.programmers.co.kr/learn/courses/30/lessons/120887

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

int to Char 형변환 

java int to char 형변환 (tistory.com)

 

java int to char 형변환

알고리즘 풀며 정리하는 형변환 문자열에서 문자의 비교시 int 를 스트링 또는 char로 변환할 경우가 있다. Java에서int를char로 변환하는 메소드는(char),Character.forDigit()및toString() 가 있다. 1. (char) 타

shutcoding.tistory.com

 

1) 

 

- 타입 캐스팅을 사용하여 ASCII 값을 가져와서 int의 char를 얻는다. 

int value_int = 1;

char value_char1 = (char)(value_int+'0');

 

 

2)

- Character.forDigit()

int radix = 10; //10진수
int value_int = 6;
char value_char = Character.forDigit(value_int , radix);

 

 

정답 

 

class Solution {
    public int solution(int i, int j, int k) {
        int answer = 0;
        char kstr = (char)(k+'0');
        
        String arr[] = new String[j-i+1];
        
        int idx = 0;
        for(int n=i; n<=j; n++)
        {
            arr[idx++] = String.valueOf(n);
        }
        
        for(int s=0; s<arr.length; s++)
        {
            String cur = arr[s];
            for(int c=0; c<cur.length(); c++)
            {
                if(cur.charAt(c)==kstr)
                {
                    answer++;
                }
            }
        }
        return answer;
    }
}

 

 

다른 사람의 풀이 

 

class Solution {
    public int solution(int i, int j, int k) {
        String str = "";
        for(int a = i; a <= j; a++) {
            str += a+"";
        }

        return str.length() - str.replace(k+"", "").length();
    }
}

 

 

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

        for (int num = i; num <= j; num++){
            int tmp = num;
            while (tmp != 0){
                if (tmp % 10 == k)
                    answer++;
                tmp /= 10;
            }
        }
        return answer;
    }
}