Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - 숫자의 개수 (2577) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - 숫자의 개수 (2577) (자바/Java)

luke-king 2024. 3. 13. 16:47

 

 

 

 

 

https://www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.

www.acmicpc.net

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();

        int result = a * b * c;
        String str = Integer.toString(result);

        for (int i = 0; i < 10; i++) {
            int cnt = 0;
            for (int j = 0; j < str.length(); j++) {
                if ((str.charAt(j) - '0') == i) {
                    cnt++;
                }
            }
            System.out.println(cnt);
        }


    }
}

 

이번 문제는 a,b,c의 값을 입력한 후 곱한 결과값의 한자리 수를 세는 문제이다.

아스키코드를 통해 문제를 풀었다.

 

1.  입력값의 결과값을 문자열로 형변환 해준다.

 

2. 0 ~ 9 까지의 자리수 카운트를 위한 cnt 변수를 만들어준다.

 

3. 형변환한 결과값 들을 charAt() 를 통해 해당 인덱스의 문자와 i 가 같은 수가 몇개인지 보며

   만약 같을 경우 cnt를 +1 증가한다.

 

 

※ charAt()를 사용할 경우 꼭 '0' 혹은 -48을 연산해야 한다.