#2577: 숫자의 개수

#2577: 숫자의 개수

C# 9.0 (.NET)
using System;
using static System.Console;

namespace csharpstudy
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] input = new int[3];
            for(int i = 0; i < input.Length; i++)
            {
                input[i] = int.Parse(ReadLine());
            }

            int sum = input[0];
            for(int i = 1; i < input.Length; i++)
            {
                sum *= input[i];
            }

            int[] counter = new int[10];
            int sum_length = (int)Math.Log10(sum) + 1;
            for (int i = 0; i < sum_length; i++)
            {
                counter[sum % 10]++;
                sum /= 10;
            }

            for(int i = 0; i < counter.Length; i++)
            {
                WriteLine("{0}", counter[i]);
            }

        }

        
    }
}


갈수록 뇌가 퇴화하는 느낌이네요.
다른 사람들 코드 보고 나 지금까지 뭐한거지 싶었어요.

C (Beginner)
#include <stdio.h>
#include <string.h>

int main(void)
{
    int a, b, c, n, i;
    char num[10];
    int count[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

    scanf("%d %d %d", &a, &b, &c);
    n = a * b * c;

    sprintf(num, "%d", n);

    for (i=0; i<strlen(num); i++)
        count[num[i]-48]++;

    for (i=0; i<10; i++)
        printf("%d\n", count[i]);

    return 0;
}
1 Like
C#
using System;

int n = 1;
int[] a = new int[10];

for (int i = 0; i < 3; ++i) 
    n *= int.Parse(Console.ReadLine());

do ++a[n % 10]; while (0 < (n /= 10));

foreach (var i in a) 
    Console.WriteLine(i);
1 Like
JavaScript
var lines = [];
var reader = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});
reader.on('line', (line) => {
  lines.push(line);
});
reader.on('close', () => {
  var init = lines.map(x=>Number(x)).reduce((x,y)=>x*y).toString().split("").map(x=>Number(x))
  var count = []
  var i = 0
  
  while(i<10){
      count.push(init.filter(x=>x===i).length)
      i++
  }
  
  console.log(count.join("\n"))
    
});