๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/์ฝ”ํ…Œ

๋ฐฑ์ค€ ๋ธŒ๋ก ์ฆˆ2 2577๋ฒˆ: ์ˆซ์ž์˜ ๊ฐœ์ˆ˜

2023.03.12
C++
https://www.acmicpc.net/problem/2577

 

2577๋ฒˆ: ์ˆซ์ž์˜ ๊ฐœ์ˆ˜

์ฒซ์งธ ์ค„์— A, ๋‘˜์งธ ์ค„์— B, ์…‹์งธ ์ค„์— C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 100๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

๋ฌธ์ œ

์„ธ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜ A, B, C๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ A × B × C๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ์— 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ๊ฐ๊ฐ์˜ ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ์”ฉ ์“ฐ์˜€๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์˜ˆ๋ฅผ ๋“ค์–ด A = 150, B = 266, C = 427 ์ด๋ผ๋ฉด A × B × C = 150 × 266 × 427 = 17037300 ์ด ๋˜๊ณ , ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ 17037300 ์—๋Š” 0์ด 3๋ฒˆ, 1์ด 1๋ฒˆ, 3์ด 2๋ฒˆ, 7์ด 2๋ฒˆ ์“ฐ์˜€๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— A, ๋‘˜์งธ ์ค„์— B, ์…‹์งธ ์ค„์— C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 100๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์—๋Š” A × B × C์˜ ๊ฒฐ๊ณผ์— 0 ์ด ๋ช‡ ๋ฒˆ ์“ฐ์˜€๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ์—ด ๋ฒˆ์งธ ์ค„๊นŒ์ง€ A × B × C์˜ ๊ฒฐ๊ณผ์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ๊ฐ๊ฐ ๋ช‡ ๋ฒˆ ์“ฐ์˜€๋Š”์ง€ ์ฐจ๋ก€๋กœ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

150
266
427

์˜ˆ์ œ ์ถœ๋ ฅ 1

3
1
0
2
0
0
0
2
0
0

์ฝ”๋“œ

#include <iostream>
using namespace std;

int main() {
    int A, B, C, r, result = 0;
    int a[10] = { 0,0,0,0,0,0,0,0,0,0 };

    cin >> A;
    cin >> B;
    cin >> C;

    result = A * B * C;

    while (result > 0) {
        r = result % 10;
        result = result / 10;
        a[r]++;
    }

    for (int i = 0; i < 10; i++) {
        cout << a[i] << endl;
    }

    return 0;
}

ํ’€์ด

์ž…๋ ฅํ•œ ์„ธ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜ A, B, C ๋ฅผ ๊ณฑํ•œ ๋ณ€์ˆ˜ result๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ r์€ result์˜ ์ˆซ์ž๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

a[r]์€ 0~9๊นŒ์ง€ result์˜ ์ˆซ์ž๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

result๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์€ ๋‹ค์‹œ result๋กœ ๋งŒ๋“ ๋‹ค.

result๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ r์ด๊ณ , a์˜ r๋ฒˆ์งธ ๋ฐฐ์—ด์„ +1 ํ•ด์ค€๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด 17์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€์ธ 7, a[7]์„ +1 ํ•ด์ค€๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด 7์„ ํ•œ๊ฐœ๊ฐ€ ์žˆ๋‹ค๋Š” ๋œป์ด ๋œ๋‹ค.

17์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์€ 1์ด๊ณ  1์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š” 1์ด๋œ๋‹ค. a[1]์„ +1 ํ•ด์ฃผ๋ฉด 1์€ ํ•œ๊ฐœ๊ฐ€ ์žˆ๋‹ค๋Š” ๋œป์ด ๋œ๋‹ค.

์ฆ‰, 1๊ณผ 7์ด ํ•œ๊ฐœ์”ฉ ์žˆ๊ฒŒ ๋œ๋‹ค.