소스코드
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, b, c, i;
scanf("%d\n%d\n%d", &a, &b, &c);
int num1;
num1 = a*b*c;
char num2[10];
int index[10];
for (i=0; i<10; i++){
index[i] = 0;
}
sprintf(num2, "%d", num1);
for(i=0; i<10; i++){
index[num2[i]-'0']++;
}
for(i=0; i<10; i++){
printf("%d\n", index[i]);
}
}
sprintf(char, "%d", int) : int자료형을 char 문자열로 변환
itoa 함수는 표준함수형이 아니라서 백준에서 사용불가. sprintf 사용
근데 dev에서는 돌아감.. ㅋㅋㅋ
해설
우선 a, b, c 세 숫자를 int형으로 받고, 계산부터 진행.
계산하고 index, num 배열을 선언하고, index배열 모든 값을 0으로 설정
계산한 결과값을 sprintf를 이용해 char로 변환
for문을 이용해 각자리수를 읽고 해당하는 index 값을 하나씩 늘림
for문을 이용해 출력
'solving > C, C++' 카테고리의 다른 글
[백준] 3052번 나머지 (다시 풀어볼 것) (0) | 2022.08.27 |
---|---|
[백준] 2908번 상수 (atoi, sprintf, 문자열 선언) (0) | 2022.08.27 |
[백준] 8958번 OX퀴즈 (0) | 2022.08.27 |
[백준] 2920번 음계 (0) | 2022.08.27 |
[백준] 2675번 문자열 반복 (서식문자 주의) (0) | 2022.08.27 |