입력 받은 수를 모두 곱하여 toString() 함수를 사용하여 문자열로 변환한다.
문자열에 0부터 9까지 몇 개씩 사용되어 있는지 카운트하는 문제이다.
크기가 10인 정수형 배열을 사용하여 카운트한 값을 저장한다.
문자를 숫자로 변환하여 변환된 숫자에 해당하는 인덱스에 저장된 값을 누적시킨다.
초기 배열값을 모두 0인 점을 이용한다.
"1234"라면
arr[1]++; → 1 카운트
arr[2]++; → 1 카운트
arr[3]++; → 1 카운트
arr[4]++; → 1 카운트
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
int arr[] = new int[10];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
int c = Integer.parseInt(br.readLine());
int mul = a*b*c;
String result = Integer.toString(mul);
for(int i=0; i<result.length(); i++) {
arr[Character.getNumericValue(result.charAt(i))]++;
}
for(int i=0; i<10; i++) {
System.out.println(arr[i]);
}
}
}
[출처]
https://www.acmicpc.net/problem/2577
'CODING > BAEKJOON' 카테고리의 다른 글
[BAEKJOON] 2167번 2차원 배열의 합 (0) | 2022.01.24 |
---|---|
[BAEKJOON] 2851번 슈퍼 마리오 (0) | 2022.01.24 |
[BAEKJOON] 8958번 OX퀴즈 (0) | 2022.01.24 |
[BAEKJOON] 1152번 단어의 개수 (0) | 2022.01.24 |
[BAEKJOON] 15596번 정수 N개의 합 (0) | 2022.01.24 |
댓글