ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 2577 - 숫자의 개수
    백준 algorithm 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;
    	}
    }

    '백준 algorithm' 카테고리의 다른 글

    백준 15552 - 빠른 A+B  (0) 2019.09.07
    백준 2562 - 최댓값  (0) 2019.09.06
    백준 3052 - 나머지  (0) 2019.09.04
    백준 2753 - 윤년  (0) 2019.09.03
    백준 10871 - x보다 작은 수  (0) 2019.09.03

    댓글

Designed by Who.