728x90
반응형
using System;
using System.Collections.Generic;
public class Solution
{
public int[] solution(int[] answers)
{
Man[] mans = new Man[3]
{
new Man(new int[] { 1, 2, 3, 4, 5 }),
new Man(new int[] { 2, 1, 2, 3, 2, 4, 2, 5 }),
new Man(new int[] { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 })
};
int bestAnswer = 0;
for (int i = 0; i < answers.Length; ++i)
{
for (int j = 0; j < mans.Length; ++j)
{
mans[j].CheckAnswer(answers[i], i);
bestAnswer = Math.Max(bestAnswer, mans[j].Answer);
}
}
List<int> bestMans = new List<int>();
for(int i =0; i<mans.Length; ++i)
{
if(mans[i].Answer == bestAnswer)
bestMans.Add(i + 1);
}
return bestMans.ToArray();
}
}
public class Man
{
public int Answer { get; private set; }
private int[] selectPattern;
public Man(int[] selectPattern)
{
Answer = 0;
this.selectPattern = selectPattern;
}
public void CheckAnswer(int answer, int index)
{
if (selectPattern[index % selectPattern.Length] == answer)
Answer++;
}
}
반응형
'프로그래밍 > 기타' 카테고리의 다른 글
ASCII - 아스키 (American Standard Code for Information Interchange) (0) | 2021.02.06 |
---|---|
프로그래머스 - 카펫 (C#) (0) | 2021.01.19 |
프로그래머스 - 이중우선순위큐 (C#) (3) | 2021.01.17 |
프로그래머스 - 디스크 컨트롤러 (C#) (0) | 2021.01.17 |
프로그래머스 - 기능개발 (C#) (0) | 2021.01.16 |