SWEA
[SWEA] 조교의 성적 매기기
itsnot4me
2024. 9. 26. 22:01
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int N = sc.nextInt();
int K = sc.nextInt();
int []array = new int[N];
double []rank = new double[N];
for(int i=0; i<N; i++){
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
array[i]=a*35+b*45+c*20;
}
for(int j=0; j<array.length; j++){
rank[j]=1;
for(int k=0; k<array.length; k++){
if(array[j]<array[k])
rank[j] = rank[j]+1;
}
}
if(rank[K-1]/N<=0.1)
System.out.println("#"+test_case+" A+");
else if(rank[K-1]/N<=0.2)
System.out.println("#"+test_case+" A0");
else if(rank[K-1]/N<=0.3)
System.out.println("#"+test_case+" A-");
else if(rank[K-1]/N<=0.4)
System.out.println("#"+test_case+" B+");
else if(rank[K-1]/N<=0.5)
System.out.println("#"+test_case+" B0");
else if(rank[K-1]/N<=0.6)
System.out.println("#"+test_case+" B-");
else if(rank[K-1]/N<=0.7)
System.out.println("#"+test_case+" C+");
else if(rank[K-1]/N<=0.8)
System.out.println("#"+test_case+" C0");
else if(rank[K-1]/N<=0.9)
System.out.println("#"+test_case+" C-");
else if(rank[K-1]/N<=1.0)
System.out.println("#"+test_case+" D0");
}
}
}
성적을 비율에 맞게 곱해서 더하고, 배열(array)에 저장
순위 매기기를 위한 배열 rank를 따로 생성 후 순위 매기기 알고리즘 사용
순위/N의 분위에 따라 성적 매겨서 출력