본문 바로가기
프로그래밍/백준 알고리즘 코드

백준 2577번 java 숫자의 개수 (Array)

by 졸린이 2020. 9. 4.
반응형

백준 2577번 java 숫자의 개수 (Array)

백준2577

위에 입출력처럼 결과가 나와야 되는데 150, 266, 427을 입력하면 이 세 수를 곱한다.

 

17,037,300의 결과가 나온다. 그러면 0은 3회 1은 1회 3, 7은 2회씩 쓰였다. 오른쪽에 출력값은 그것을 의미하는 것이다.

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
//baekjoon_2577
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int ar[] = new int[10];
        
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int sum = a*b*c;
        while(sum>0) {
            ar[sum%10]++;
            sum /= 10;
        }
        for(int i=0; i<10; i++)
            System.out.println(ar[i]);
    }
}
cs

line 7 : 출력할때 한 줄에 하나 씩 10줄이 출력된다.(0에서~9까지) 그러므로 배열 크기를 10으로 잡는다.

line 9,10,11 : 곱할 수 a, b, c 입력.

line 12 : abc를 곱해서 sum에 저장해준다.

line 13,14 : while문으로 어떤 수가 쓰였는지 일의자리부터 검사한다. 10으로 나눠 나머지가 곧 1의 자리를 의미하니 그 수의 위치한 배열원소를 ++시킨다.(예를들어 1의자리 수가 0이면 배열 ar[0]의 원소값을 1올리는 것이다.)

line 15 : 일의 자리 검사를 마쳤으므로 10으로 나눠서 몫만 저장한다.(일의 자리는 버려진다)

line 17~19 : 배열원소를 한 줄에 하나씩 출력해준다.

 

끗~

반응형

댓글