C# Sales by Match [HackerRank]
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text.RegularExpressions;
using System.Text;
using System;
class Result
{
public static int sockMerchant(int n, List<int> ar)
{
//리스트 가장 큰 수 만큼 배열 생성
int[] arr = new int[ar.Max()];
//해당 배열에 리스트 카운트
for(int i=0; i<ar.Count; i++)
{
arr[ar[i]-1]++;
}
int count = 0;
//배열 크기만큼 반복
for(int i=0; i<arr.Length; i++)
{
//배열당 개수가 1개 즉, 한 쌍 이하가 될때 까지 만복
while(arr[i]>1)
{
//카운트 더하고 한 쌍의 개수 2 빼기
count++;
arr[i] = arr[i] - 2;
}
}
return count;
}
}
class Solution
{
public static void Main(string[] args)
{
TextWriter textWriter = new StreamWriter(@System.Environment.GetEnvironmentVariable("OUTPUT_PATH"), true);
int n = Convert.ToInt32(Console.ReadLine().Trim());
List<int> ar = Console.ReadLine().TrimEnd().Split(' ').ToList().Select(arTemp => Convert.ToInt32(arTemp)).ToList();
int result = Result.sockMerchant(n, ar);
textWriter.WriteLine(result);
textWriter.Flush();
textWriter.Close();
}
}
댓글