๐Ÿ‘ฉ‍๐Ÿ’ปProgramming/Coding Test

[C#] [BOJ#3052] ๋‚˜๋จธ์ง€ - ์ค‘๋ณต ์ œ๊ฑฐ

taesooya 2022. 7. 30.

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

 

2741๋ฒˆ: N ์ฐ๊ธฐ

์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๋ถ€ํ„ฐ N๊นŒ์ง€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net

My Solution

Distinct๋ฉ”์†Œ๋“œ System.Linq ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

myarray.Distinct().ToArray();


using System;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[10];
            for (int i = 0; i < 10; i++)
            {
                arr[i] = int.Parse(Console.ReadLine()) % 42;
            }
            int[] distArray = arr.Distinct().ToArray();
            Console.WriteLine(distArray.Length);
        }
    }
}

Solution


using System;
 
class Program {
 
    static void Main()
    {
        // ์ˆ˜ 10๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  42๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
        int maxCount = 10; //์ž…๋ ฅ๋ฐ›์„ ์ˆ˜์˜ ๊ฐœ์ˆ˜
        int divNum = 42; //๋ช‡์œผ๋กœ ๋‚˜๋ˆŒ์ง€
        int remainder = 0; //๋‚˜๋จธ์ง€
        bool[] isRemain = new bool[divNum]; //๋‚˜๋จธ์ง€๊ฐ€ ๋“ค์–ด์™”๋Š”์ง€ ์—ฌ๋ถ€ํŒ๋‹จ
 
        for (int i = 0; i < maxCount; i ++ )
        {
            remainder = int.Parse(Console.ReadLine()) % divNum;
            isRemain[remainder] = true;
        }
 
        //isRemain์˜ true๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€ ์„ผ๋‹ค.
        int count = 0;
        for (int i = 0; i < isRemain.Length; i++)
        {
            if (isRemain[i]) count++;
        }
 
        Console.WriteLine(count);
    }
}

๋Œ“๊ธ€