BOJ/[ BOJ ] C++

[ C++ ] #2577 ( 숫자의 개수 )

haena02 2022. 2. 20. 19:26
반응형

 

어떻게 각 자리 숫자를 확인할까 하다가

몇자리인지 확인하고 그만큼 반복하며

일의자리 수 체크 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