728x90
반응형
https://www.acmicpc.net/problem/21567
풀이
3개의 수의 곱을 한 후 포함되어있는 수의 갯수를 구하는 문제이다.
범위가 곱할경우 커져 BigInteger를 사용하면 된다.
곱한 수를 10으로 나누면서 나머지에 해당하는 배열의 위치를 더해줘 마지막에 출력해주면된다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] number = new int[10];
BigInteger sum = new BigInteger(br.readLine()).multiply(new BigInteger(br.readLine())).multiply(new BigInteger(br.readLine()));
while(sum.compareTo(BigInteger.ZERO) != 0) {
number[sum.remainder(BigInteger.TEN).intValue()]++;
sum = sum.divide(BigInteger.TEN);
}
StringBuilder sb = new StringBuilder();
for(int n : number) {
sb.append(n).append("\n");
}
System.out.print(sb);
}
}
728x90
반응형
'백준 > 20001 - 25000' 카테고리의 다른 글
[백준] 21312번 : 홀짝 칵테일(JAVA) (0) | 2021.07.25 |
---|---|
[백준] 21603번 : K 2K 게임(JAVA) (0) | 2021.07.25 |
[백준] 21598번 : SciComLove(JAVA) (0) | 2021.07.25 |
[백준] 21756번 : 지우개(JAVA) (0) | 2021.07.25 |
[백준] 21771번 : 가희야 거기서 자는 거 아니야(JAVA) (0) | 2021.07.25 |
댓글