백준 2755번: 숫자의 개수(문제링크)
문제에서 파악해야 할 핵심요소 및 마인드맵
- 긴 숫자의 숫자하나하나를 어떻게 받을 것인가?
- 0~9까지의 숫자를 어떻게 적립시킬 수 있는가?
주의사항
- 숫자를 char형 배열로 만들어주는 stdio.h의 sprintf 함수를 이용한다.
- string의 길이를 알려주는 strlen 함수는 string.h를 이용한다.
#include <stdio.h>
#include <string.h> //strlen을 위한 import
int main(void) {
int a, b, c;
int cnt[10] = { 0 }; //0~9 개수를 적립할 리스트
int sum;
char temp[100]; //긴 숫자를 담을 배열 준비
int i;
scanf("%d %d %d", &a, &b, &c);
sum = a*b*c;
sprintf(temp, "%d",sum); //긴 숫자를 담은 char형 배열
for (i = 0;i < strlen(temp);i++)
cnt[temp[i]-'0']++; //아스키 코드를 이용하여 추가
for (i=0;i<10;i++)
printf("%d\n",cnt[i]);
return -1;
}
'Coding > Basic' 카테고리의 다른 글
[DataStructures] Stack스택 (0) | 2019.10.03 |
---|---|
[Basic] 숫자 길이 및 배열 전환 함수 살펴보기 c언어 (0) | 2019.09.28 |
[백준] 8958번: OX퀴즈 (0) | 2019.09.13 |
[Basic] 출력 계속 받는 방법 정리 (0) | 2019.09.11 |
[백준]2920번: 음계 c언어 (0) | 2019.09.10 |