-
백준 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