728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/83201
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution {
string Grade(int avr)
{
string grade = "";
switch (avr)
{
case 9 :
grade = "A";
break;
case 8 :
grade = "B";
break;
case 7 :
grade = "C";
break;
case 6 :
grade = "D";
break;
case 5 :
grade = "D";
break;
default :
grade = "F";
break;
}
return grade;
}
public string solution(int[,] scores) {
string answer = "";
int size = scores.GetLength(0);
int[,] score = new int[size, size];
for (int i = -1; ++i < size;)
{
for (int j = -1; ++j < size;)
if (j != i) score[j, i] = scores[i, j];
}
for (int i = -1; ++i < size;)
{
List<int> temp = new List<int>();
for (int j = -1; ++j < size;)
if (i != j) temp.Add(score[i, j]);
if (temp.Max() >= scores[i, i] && temp.Min() <= scores[i, i])
temp.Add(scores[i, i]);
answer += Grade((int)temp.Average() / 10);
}
return answer;
}
}
학점 반환하는 매소드 따로 빼놓고... (이걸 괜히 Switch case썼네)
scores를 index 사용하기 쉽게 새 배열 선언해서 값을 넣어 주고
편할라고 List 그냥 써버리고
본인이 매긴 점수가 유일한 max, min이 아니라면 넣어주고
Average 넘겨서 학점 받구
반응형
'프로그래머스_C# > Level_1' 카테고리의 다른 글
[프로그래머스 C#] K번째수 (0) | 2021.09.07 |
---|---|
[프로그래머스 C#] 체육복 (0) | 2021.09.06 |
[프로그래머스 C#] 약수의 개수와 덧셈 (0) | 2021.09.05 |
[프로그래머스 C#] 3진법 뒤집기 (0) | 2021.09.05 |
[프로그래머스 C#] 예산 (0) | 2021.09.04 |