반응형
풀이
1. 열에서 최대 값 찾기
2. 열에서 최소 값 찾기
3. 자기 자신의 값과 똑같은 값이 있다면 유일한 최고, 최저 조건이 아님으로 예외
4. 평균값으로 학점을 구하는 함수 만들기
코드
class Solution {
public String solution(int[][] scores) {
String answer = "";
for (int i = 0; i < scores.length; i++) {
int ownScore = scores[i][i];
boolean sameScore = true;
int max = scores[0][i];
int min = scores[0][i];
int sum = 0;
int divide = 0;
double avg;
for (int j = 0; j < scores.length; j++) {
//자기자신의 값과 똑같은 값 찾기
if (i != j && ownScore == scores[j][i]) {
sameScore = false;
}
//열 비교
if (max < scores[j][i]) {
max = scores[j][i];
}
if (min > scores[j][i]) {
min = scores[j][i];
}
sum += scores[j][i];
divide++;
}
//유일한 최고, 최저일 경우 제외
if (sameScore && (max == ownScore || min == ownScore)) {
sum -= ownScore;
divide--;
}
avg = (double)sum / (double)divide;
answer += getRank(avg);
}
return answer;
}
public static String getRank(double score) {
if (score >= 90) {
return "A";
}
if (score >= 80) {
return "B";
}
if (score >= 70) {
return "C";
}
if (score >= 50) {
return "D";
}
return "F";
}
}
출처
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 4주차 직업군 추천하기 자바 java (0) | 2021.08.25 |
---|---|
프로그래머스 소수 만들기 자바 java (1) | 2021.08.23 |
프로그래머스 숫자 문자열과 영단어 자바 java (0) | 2021.08.19 |
프로그래머스 실패율 자바 java (0) | 2021.06.16 |
프로그래머스 약수의 개수와 덧셈 자바 java (0) | 2021.06.15 |
댓글