본문 바로가기
알고리즘!/백준 CLASS1

2577: 숫자의 개수

by soeayun 2023. 7. 7.

참고로 int 값의 범위는 –2,147,483,648 ~ 2,147,483,647이다. 즉 약 2*10^9까지 담을 수 있는데

이 문제에서 a*b*c의 최댓값은 10^9이므로 int 값을 쓸 수 있음

만약에 더 큰 수가 주어진다면 int가 아닌 unsigned int 등을 사용해야할 수도 있음

 

#include <stdio.h>
#include <string.h>

int arr[10]; //mult 각 자리 수의 개수를 적는 배열, 0으로 자동 초기화
int main(void)
{
 int a,b,c,mult;
  scanf("%d %d %d",&a,&b,&c);
  mult=a*b*c;
  while(mult!=0)
    {
      arr[mult%10]++; //mult의 일의 자리수 구하고 그거에 맞는 arr 인덱스 값 증가
      mult/=10;
    }

  for(int i=0;i<10;i++)
    {
      printf("%d\n",arr[i]);
    }
  
   return 0;
}

'알고리즘! > 백준 CLASS1' 카테고리의 다른 글

2884: 알람 시계  (0) 2023.07.08
10250: ACM 호텔  (0) 2023.07.08
1157: 단어공부  (0) 2023.07.08
2675: 문자열 반복  (0) 2023.07.07
2920: 음계  (0) 2023.07.07