개발자 톡
연습문제 톡
[HSAT 5회 정기 코딩 인증평가 기출] 성적 평가
같은 코드로 여러번 돌리는데 맞을때도 있고 틀릴때도 있네요 허허
- 등록일
- 2023-12-13 00:10:30
- 조회수
- 390
- 작성자
- dbrhdwn123
import java.io.*;
import java.util.*;
public class Main {
static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
int last[] = new int [n];
int lastcopy[] = new int [n];
for(int i=0;i<3;i++){
int people[] = new int [n];
int score[] = new int [n];
for(int j=0;j<n;j++){
people[j] = sc.nextInt();
score[j] = people[j];
last[j] += people[j];
lastcopy[j] += people[j];
}
calc(score, people);
}
calc(last, lastcopy);
}
public static void calc(int score[], int people[]){
int grade[] = new int [n];
Arrays.sort(score);
grade[score.length-1] = 1;
for(int k=score.length-2;k>=0;k--){
if(score[k+1] == score[k]){
grade[k] = grade[k+1];
}
else{
grade[k] = score.length-k;
}
}
HashMap<Integer, Integer> map = new HashMap<>();
for(int k=0;k<score.length;k++){
map.put(score[k], grade[k]);
}
for(int k=0;k<people.length;k++){
if(k == people.length-1){
System.out.print(map.get(people[people.length-1]));
}
else{
System.out.print(map.get(people[k]) + " ");
}
}
System.out.println();
}
}
코드는 이건데 0.0001초 차이로 같은 코드인데 맞기도하고 틀리기도 하네요 허허 어떤 방법이 확실할까요??
#[hsat_5회_정기_코딩_인증평가_기출]_성적_평가