츄르사려고 코딩하는 코집사입니다.
1. [SW expert Academy] SWEA 1983번 조교의 성적 매기기 자바(Java)
1) 난이도 : D2
2) 문제번호 : 1983번
3) 문제 출처
swexpertacademy.com/main/code/problem/problemSolver.do?contestProbId=AV5PsIl6AXIDFAUq
2. 문제
학기가 끝나고, 학생들의 점수로 학점을 계산중이다.
학점은 상대평가로 주어지는데, 총 10개의 평점이 있다.
학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다.
각각 아래 비율로 반영된다.
10 개의 평점을 총점이 높은 순서대로 부여하는데,
각각의 평점은 같은 비율로 부여할 수 있다.
예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다.
입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고,
학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때,
K 번째 학생의 학점을 출력하는 프로그램을 작성하라.
3. 제약사항
- N은 항상 10의 배수이며, 10이상 100이하의 정수이다. (10 ≤ N ≤ 100)
- K는 1 이상 N 이하의 정수이다. (1 ≤ K ≤ N)
- K 번째 학생의 총점과 다른 학생의 총점이 동일한 경우는 입력으로 주어지지 않는다.
4. 입력
입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다.
다음 줄부터 각 테스트 케이스가 주어진다.
테스트 케이스의 첫 번째 줄은 학생수 N 과, 학점을 알고싶은 학생의 번호 K 가 주어진다.
테스트 케이스 두 번째 줄 부터 각각의 학생이 받은 시험 및 과제 점수가 주어진다.
5. 출력
테스트 케이스 t에 대한 결과는 “#t”을 찍고, 한 칸 띄고, 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
6. 풀이
- 총점을 구하고, 찾고자 하는 학생 점수를 기억하여 찾기
7. 소스 코드
import java.util.*;
public class Solution {
static String[] score={"A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0"};
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 테스트 케이스의 개수
for(int tc=1;tc<=T;tc++) {
int N = sc.nextInt(); //학생 수
int K = sc.nextInt(); //알고싶은 학생의 번호
double find_score = 0.0; //K번호의 점수를 찾기 위해 저장
Double[] result = new Double[N];
//입력받기
for(int i=0;i<N;i++) {
int mid_score = sc.nextInt();//중간고사 점수
int final_score = sc.nextInt();//기말고사 점수
int sub_score = sc.nextInt();//과제 점수
double sum = 0.35 * mid_score + 0.45 * final_score + 0.20 * sub_score; //총점
result[i] = sum;
if(i+1==K) find_score = sum;
}
Arrays.sort(result, Collections.reverseOrder());
int index = 0;
for(int i=0;i<result.length;i++) {
if(result[i]==find_score) {
index = i;
}
}
index = index / (N/10);
System.out.printf("#%d %s\n",tc,score[index]);
}
}
}
'알고리즘 > SW expert Academy' 카테고리의 다른 글
[SW expert Academy] SWEA 1493번 수의 새로운 연산 자바(Java) (0) | 2021.02.16 |
---|---|
[SW expert Academy] SWEA 11457번 gravity 자바(Java) (0) | 2021.02.14 |
[SW expert Academy] SWEA 7272번 안경이 없어! 자바(Java) (0) | 2021.02.13 |
[SW expert Academy] SWEA 1234번 비밀번호 자바(Java) (0) | 2021.02.13 |
[SW expert Academy] SWEA 1970번 쉬운 거스름돈 자바(Java) (0) | 2021.02.11 |
[SW expert Academy] SWEA 1926번 간단한 369게임 자바(Java) (2) | 2021.02.11 |
[SW expert Academy] SWEA 2005번 파스칼의 삼각형 자바(Java) (0) | 2021.02.10 |
[SW expert Academy] SWEA 1247번 최적 경로 자바(Java) (0) | 2021.02.10 |
최근댓글