Algorithm/Python, C++

백준 2577_숫자의 개수[C++]

liveloper jay 2022. 1. 17. 00:52

문제

 

 

풀이

  입력받은 세 수를 곱하고, 곱한 숫자 중 0~9까지 숫자가 각각 몇개씩 있는지를 출력하는 문제입니다. 0~9까지 숫자가 몇번 나왔는지 카운트하기 위해 크기가 10인 배열을 생성해주고 배열의 0번째는 0의 개수, 1번째는 1의 개수... 이런식으로 카운트를 해주면 됩니다. 또 각 자리가 어떤 수인지를 알기위해 %(Modulo) 연산자를 사용하여 풀이를 진행하였습니다.

 

 

 

소스코드

#include <iostream>
using namespace std;

int main()
{
    int array[10]={0,};
    int a,b,c,value,num;
    cin >>a>>b>>c;
    value=a*b*c;
    while(1){
        num = value%10;
        array[num]++;
        value= value/10;
        if(value==0) break;
    }
    for (int i = 0; i < 10; i++)
    {
        cout << array[i] <<'\n';
    }
}