📌관건 : a x b x c 의 값의 숫자 하나하나를 어떻게 쪼갤 것인가? (17302 -> 1, 7, 3, 0, 2)
#include<iostream>
using namespace std;
int main(void)
{
cin.tie(NULL); ios_base::sync_with_stdio(false);
int arr[10]={0,}; //0~9 숫자 카운트 배열 ({0,} 요소 전부 0으로 초기화)
int a,b,c;
cin>>a>>b>>c;
int mul=a*b*c;
for(int i=mul;i>0;i/=10)
arr[i%10]+=1;
for(int i=0;i<10;i++)
cout<<arr[i]<<"\n";
return 0;
}
ex) abc = 17302 일 경우,
arr[2]++
(/10 하여 1730) arr[0]++
(/10 하여 173) arr[3]++
(/10 하여 17) arr[7]++
(/10 하여 1) arr[1]++
(/10 하여 0) for문 종료
#include<iostream>
#include<string>
using namespace std;
int main(void)
{
cin.tie(NULL); ios_base::sync_with_stdio(false);
int arr[10]={0,}; //0~9 숫자 카운트 배열 ({0,} 요소 전부 0으로 초기화)
int a,b,c;
cin>>a>>b>>c;
string mul=to_string(a*b*c); //정수 -> 문자열 변환
for(int i=0;i<10;i++)
{
int num=mul[i]-'0';
for(int j=0;j<10;j++)
if(num==j) arr[j]+=1;
}
for(int i=0;i<10;i++)
cout<<arr[i]<<"\n";
return 0;
}
string mul 에 a*b*c
의 값을 넣으면 문자열로 바뀌면서 mul[index]로 숫자 하나하나씩 접근할 수 있다고 생각해서 해본 방법!
이때, 필요한 C++ 기능을 구글로 공부한 몇 가지를 정리해보겠다.