반응형
어떻게 각 자리 숫자를 확인할까 하다가
몇자리인지 확인하고 그만큼 반복하며
일의자리 수 체크 10으로 나누기를 했다.
하지만 훨 간단한 방법이 있었다.
난 몇번반복하는가에 대하여 고민을 많이 했는데 이를 한번에 해결할 방법이 있었다.
밑에 주석처리 해놨으니 참고하면 될 것 같다.
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a, b, c,sum;
int num[10] = { 0, };
cin >> a >> b >> c;
sum = a * b * c;
int D=10,B=1;
while (sum>D) {
D *= 10;
B++;
}
for (int i = 0; i < B; i++) {
num[sum % 10]++;
sum /= 10;
}
/*
while (t>0) {
d[t%10]++;
t/=10;
}
*/
for (int i = 0; i < 10; i++) cout << num[i] << "\n";
}
반응형
'BOJ > [ BOJ ] C++' 카테고리의 다른 글
[ C++ ] #3273 ( 두 수의 합 ) (0) | 2022.02.21 |
---|---|
[ C++ ] #1475 ( 방 번호 ) (0) | 2022.02.21 |
[ C++ ] #2443 ( 별 찍기 - 6 ) (0) | 2022.02.13 |
[ C++ ] #2439 ( 별 찍기-2 ) (0) | 2022.02.13 |
[ C++ ] #15552 ( 빠른 A+B ) (0) | 2022.02.12 |