-
[SWEA] [JAVA] [Difficulty 2] [1983] 조교의 성적 매기기SW Expert Academy 2022. 11. 18. 21:32
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
import java.util.*; import java.io.*; public class Solution { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int T= Integer.parseInt(br.readLine()); // 테스트케이스 for(int tc=1; tc<=T; tc++) { StringTokenizer st = new StringTokenizer(br.readLine()," "); int N= Integer.parseInt(st.nextToken()); // 학생수 int K= Integer.parseInt(st.nextToken()); // 학점을 알고싶은 학생의 번호 String grade[] = {"A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0"}; Double score[] = new Double[N]; double find_score = 0.0; for(int i=0; i<N; i++) { st = new StringTokenizer(br.readLine()," "); int mExam = Integer.parseInt(st.nextToken()); int fExam = Integer.parseInt(st.nextToken()); int pjt = Integer.parseInt(st.nextToken()); score[i] = mExam*0.35 + fExam*0.45 + pjt*0.20; // 찾는 번호의 점수를 저장 if(i+1==K) find_score = score[i]; } // 각 학생의 학점을 저장한 score 배열을 내림차순으로 정렬 Arrays.sort(score, Collections.reverseOrder()); int index=0; // 정렬된 score 배열에서 찾는 학생의 점수의 인덱스를 저장 for(int i=0; i<score.length; i++) { if(score[i]==find_score) { index = i; } } // 20명일 때는 2등까지 A+, 30명일 때는 3등까지 A+ index = index / (N/10); // 평점 배열 grade에서 해당 인덱스를 넣어서 평점 출력 sb.append("#" + tc + " " + grade[index] + "\n"); } System.out.println(sb); } }
'SW Expert Academy' 카테고리의 다른 글
[SWEA] [JAVA] [Difficulty 2] [1204] [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [1946] 간단한 압축 풀기 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [1970] 쉬운 거스름돈 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [1976] 시각 덧셈 (0) 2022.11.18 [SWEA] [JAVA] [Difficulty 2] [1974] 스도쿠 검증 (0) 2022.11.18