
💬 다른 사람 풀이보기를 잘못 눌러서ㅜㅜ 점수 획득 실패..
대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다.
당신은 각 학생들이 받은 점수의 평균을 구하여, 기준에 따라 학점을 부여하려고 합니다.
만약, 학생들이 자기 자신을 평가한 점수가 유일한 최고점 또는 유일한 최저점이라면 그 점수는 제외하고 평균을 구합니다.
class Solution {
public String solution(int[][] scores) {
int length = scores.length;
int size[] = new int [length];
StringBuilder answer = new StringBuilder();
for(int i = 0; i < length; i++) {
size[i] = length;
}
for(int i = 0; i < length; i++) {
int max = 0;
int min = 101;
boolean xcnt = true;
boolean icnt = true;
for(int j = 0; j < length; j++) {
if(i == j) {
if(scores[j][i] > max) {
max = scores[j][i];
xcnt = false;
}
else if(scores[j][i] < min) {
min = scores[j][i];
icnt = false;
}
}
else {
if(scores[j][i] >= max) {
max = scores[j][i];
xcnt = true;
}
else if(scores[j][i] <= min) {
min = scores[j][i];
icnt = true;
}
}
}
if(!xcnt || !icnt) {
scores[i][i] = 0;
size[i]--;
}
}
for(int i = 0; i < length; i++) {
int total = 0;
for(int j = 0; j < length; j++) {
total += scores[j][i];
}
int balance = total / size[i];
if(balance >= 90) {
answer.append("A");
}
else if(balance >= 80) {
answer.append("B");
}
else if(balance >= 70) {
answer.append("C");
}
else if(balance >= 50) {
answer.append("D");
}
else {
answer.append("F");
}
}
return answer.toString();
}
}
예전에 풀지 못한 문제였는데 해결해서 기분이 좋았습니다! 😊