C# Breaking the Records [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 List<int> breakingRecords(List<int> scores)
{
//가장 작은, 큰 점수를 넣을 변수
int low = scores[0];
int high = scores[0];
//가장 작은, 큰 점수가 될 때 카운트를 세는 변수
int lowCount = 0;
int highCount = 0;
//큰 점수보다 진행중인 scores의 점수가 크면 카운트와 큰 점수 초기화
//작은 점수보다 진행중인 scores의 점수가 작으면 카운트와 작은 점수 초기화
for(int i=1; i<scores.Count; i++)
{
if(high<scores[i]) { highCount++; high = scores[i]; }
if(low>scores[i]) { lowCount++; low = scores[i]; }
}
//리스트 선언
List<int> result = new List<int>();
//큰 점수 카운트, 작은 점수 카운트 순으로 저장 후 반환
result.Add(highCount);
result.Add(lowCount);
return result;
}
}
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> scores = Console.ReadLine().TrimEnd().Split(' ').ToList().Select(scoresTemp => Convert.ToInt32(scoresTemp)).ToList();
List<int> result = Result.breakingRecords(scores);
textWriter.WriteLine(String.Join(" ", result));
textWriter.Flush();
textWriter.Close();
}
}
댓글