CS/백준 BOJ
[C언어] 백준 2577번 - 숫자의 개수
seomoon
2020. 3. 21. 00:03
문제 링크
https://www.acmicpc.net/problem/2577
풀이
#include <stdio.h>
int main() {
int a, b, c;
int arr[10] = {0, };
scanf("%d %d %d", &a, &b, &c);
int n = a*b*c;
int num;
while(n>0) {
num = n%10;
arr[num]++;
n /= 10;
}
for(int i=0; i<10; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
정수를 자릿수에 따라 쪼개야할 때는 10으로 나눗셈/나머지연산을 하면 간단하게 처리할 수 있다.
배열 arr은 while문에서 값을 새로 할당하는 것이 아니라 원래 값을 증가시키기 때문에(증감 연산자 사용)
선언할 때 0으로 초기화를 해두어야한다.
배열 0으로 초기화하기 : https://dojang.io/mod/page/view.php?id=294
(C언어 코딩 도장 36.2 배열을 0으로 초기화하기)