문제
세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.
예를 들어 A = 150, B = 266, C = 427이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다.
입력
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
출력
첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과에 1부터 9까지의 숫자가 각각 몇 번 쓰였는지 차례로 한 줄에 하나씩 출력한다.
예제 입력 1
150
266
427
예제 출력 1
3
1
0
2
0
0
0
2
0
0
BufferedReader 클래스로 입력을 받는데,
한줄씩 끊어져서 입력값이 들어와서 readLine으로 하나씩 상수 a, b, c에 넣어준다
그리고 세개 상수를 곱한 값을 input 변수에 담아놓는다
조건에 0~9까지의 숫자가 몇 번 쓰였는지 체크하는 것이기 때문에
int형 배열 number 를 10개의 사이즈로 선언해놓고
while 반복문을 돌린다
이때 while문 안에서는
input을 각각의 숫자로 분리해야 하기 때문에
숫자 % 10 = 일의자리 숫자를 이용하여
input이 10보다 클 동안만 반복문을 돌려주고
그 안에서 for문을 사용하여
number 배열의 길이 만큼 반복문을 돌리면서
If조건문을 이용하여
위에서 끊은 일의자리 숫자와 배열의 인덱스 값이 같을 때
배열 안의 인덱스 값을 ++ 해준다
그리고 while문을 빠져나온 input값은 마지막 한 자리 숫자가 남아있기 때문에
number [input]++도 넣어준다
그리고 for each문으로 number 배열을 돌면서 하나씩 순서대로 출력해준다
'TIL > Algorithm' 카테고리의 다른 글
Java 백준 1546번 문제 (0) | 2021.09.26 |
---|---|
Java 백준 3052번 문제 (0) | 2021.09.25 |
Java 백준 2562번 문제 (0) | 2021.09.23 |
Java 백준 10818번 문제 (0) | 2021.09.22 |
Java 백준 1110번 문제 (0) | 2021.09.21 |