[BOJ/2577/C++] 숫자의 개수

SHark·2023년 3월 2일
0

BOJ

목록 보기
19/59

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

문제

세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.

조건

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

SOL

문자열로 처리해도 되지만,자릿수관련하여 문제를 풀 때는 나머지 연산을하면 각 자릿수의 숫자가 뭔지 알 수 있다.
예를들어, 999의 각 자리수의 숫자를 알고싶다면, %10으로 나누고,N을 다시 10으로 나누는 연산을 반복하면 9 9 9 가 나온다.

#include <bits/stdc++.h>
using namespace std;
int main()
{
  int freq[10] = {};
  int A, B, C;
  cin >> A >> B >> C;
  int result = A * B * C;
  for (int i = 0; i < 9; i++)
  {
    if (result == 0)
      break;
    freq[result % 10]++;
    result = result / 10;
  }
  for (int i = 0; i < 10; i++)
  {
    cout << freq[i] << '\n';
  }

  return 0;
}

0개의 댓글