백준 algorithm
백준 2577 - 숫자의 개수
cosmohoo
2019. 9. 6. 14:45
반응형

0부터 9까지의 숫자가 몇번 나왔는지 확인하기위해 size 10짜리의 배열을 만든다.
A B C 세 숫자를 곱하였을 때 나오는 수의 자릿수들을 하나씩 확인하여야한다.
10으로 나눴을때의 나머지를 구하게 되면 1의 자리부터 맨 마지막 자리수의 숫자까지 확인할수 있다.
나머지 수를 확인하고 그 수의 숫자를 배열에 넣게 된다.
*각 자리 숫자들을 확인할때 for문을 돌리기 위해서 숫자의 끝부분을 알아야하므로 숫자의 길이를 알아내야한다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int bae[10] = { 0 };
int a, b, c = 0;
cin >> a >> b >> c;
int sum = a * b*c;
int sum2 = sum;
int count = 0;
while (sum2 > 0) // 숫자의 길이 알아내기 위함
{
sum2 = int(sum2 / 10);
count++;
}
for (int i = 0; i < count; i++) //각 자리 숫자를 하나씩 빼내어 확인하기
{
int index;
index = sum % 10;
bae[index]++;
sum = sum / 10;
}
for (int j = 0; j < 10; j++)
{
cout << bae[j] << endl;
}
}반응형