자료구조와 알고리즘/Baekjoon

[백준][C++][Python] 2577: 숫자의 개수

최문경 블로그 2019. 9. 29. 16:45

https://www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다.

www.acmicpc.net

이 문제의 풀이도 개발자 지망생님의 블로그에서...!

 

C++

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main(void) {
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    int a, b, c;
    cin >> a >> b >> c;
    
    int result = a*b*c;
    
    int arr[10= {0};
    
    while(result != 0) {
        arr[result % 10+= 1;
        result /= 10;
    }
    
    for(int i =0; i<10; i++)
        cout << arr[i] << "\n";
}
cs

 

 

10으로 나눈 나머지를 인덱스로 하는 배열에 넣어주고

10으로 나눠서 1자리씩 줄여주는 아이디어가 정말... 최고..

 

아이디어 또 배워갑니다..!

 

 

Python

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mul = 1
 
for i in range(3):
    k = int(input())
    mul = mul * k
    
list = [0* 10
 
while (mul != 0):
    list[mul%10+= 1
    mul = mul // 10
    
for i in list:
    print(i)
cs

 

 

 

참고: https://blockdmask.tistory.com/82