반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
세 수를 곱한 결과의 각 자릿수 숫자를 세는 문제입니다. 각 자릿수마다 숫자가 몇 번씩 쓰였는지를 구해야 합니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
10으로 나누며 나머지를 세면 됩니다. 간단한 수학문제입니다.
3. 코드
A = int(input())
B = int(input())
C = int(input())
res = A*B*C
num = [0]*10
while(res != 0):
tmp = res%10
num[tmp] += 1
res = res//10
for i in num:
print(i)
[0]*10 = [0,0,0,0,0,0,0,0,0,0] 으로 리스트가 초기화됩니다. range 등의 리스트 초기화 함수를 쓰는 것보다 간편합니다.
숫자의 개수는 1의 자리부터 하나씩 셉니다. 그 후 // 연산자를 이용해서 10으로 나눈 몫만 남겨주면, 1의 자리가 없어집니다.
ex) 123 % 10 = 3 (나머지), 123 // 10 = 12 (몫)
import java.util.Scanner;
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 number = a*b*c;
int[] num = new int[10];
while(number != 0) {
num[number%10]++;
number /= 10;
}
for(int i = 0; i < 10; i++) {
System.out.println(num[i]);
}
sc.close();
}
}
반응형
'Algorithm' 카테고리의 다른 글
[수학/DP] 백준 2839 설탕 배달 - Python, Java (0) | 2022.01.25 |
---|---|
[구현/수학] 백준 1546 평균 - Python, Java (0) | 2022.01.24 |
[구현/수학] 백준 1110 더하기 사이클 - Python, Java (0) | 2022.01.22 |
[구현/수학] 백준 2884 알람 시계 - Python, Java (0) | 2022.01.21 |
[구현/수학] 백준 2576 홀수 - Python (0) | 2022.01.20 |
댓글