핵심 포인트 : % 와 / 

 

% 는 1234567 이 있으면 10으로 % 시 7 을 획득할 수 있다. 

/ 는 1234567 이 있으면 123456 을 획득할 수 있다. 

 

이때 10으로 계속 % 반복하게 되면 순서대로 7 6 5 4 3 2 1 을 얻을 수 있게 된다. 

여기서! 배열을 이용해서 각 배열의 index를 활용해서 0~9 까지지만 1~10으로 인지하여 각 index의 값을 추출하면

숫자마다 몇번 나타났는지 알 수 있다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int a = 3, cnt = 0, total=1;
    int arr[3], arr2[10]={};
    memset(arr, falsesizeof(arr));
    memset(arr2, falsesizeof(arr2));
    while(a--){
        cin>>arr[cnt];
        total*=arr[cnt++];
    }
    while(total!=0){
        arr2[total%10]+=1;
        total/=10;
    }
    for(int i=0; i<10; i++)
        cout<<arr2[i]<<endl;
}
cs

 

'알고리즘' 카테고리의 다른 글

알고리즘14 :: BOJ_1057_토너먼트  (0) 2019.02.25
알고리즘13 :: BOJ_2293_동전1  (0) 2019.02.23
알고리즘11 :: BOJ_더하기사이클_1110번  (0) 2019.01.05
알고리즘10 :: 쇠막대기  (0) 2019.01.04
알고리즘이란?  (0) 2018.12.26