SWEA 1983 조교의 성적 매기기

1 개요[ | ]

SWEA 1983 조교의 성적 매기기

2 C++[ | ]

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
	int T;
	scanf("%d", &T);
	int a[100];
	int N, K;
	int mid, fin, hom;
	char grades[10][3] = {"A+","A0","A-","B+","B0","B-","C+","C0","C-","D0"};
	for(int tc=1; tc<=T; tc++) {
		scanf("%d %d", &N, &K);
		for(int i=0; i<N; i++) {
			scanf("%d %d %d", &mid, &fin, &hom);
			a[i] = mid*35 + fin*45 + hom*20;
		}
		int k_score = a[K-1];
		int k_rank;
		sort(a, a+N);
		for(int i=0; i<N; i++) {
			if(a[i] == k_score) {
				k_rank = N-1-i;
				break;
			}
		}
		printf("#%d %s\n", tc, grades[10*k_rank/N]);
	}
}

3 Java[ | ]

import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;
public class Solution {
    public static void main(String args[]) {
        final String grades[] = {"A+","A0","A-","B+","B0","B-","C+","C0","C-","D0"};
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            int n = sc.nextInt();
            int k = sc.nextInt()-1;
            Integer a[] = new Integer[n];
            for(int i=0; i<n; i++) {
                int mid = sc.nextInt(); 
                int fin = sc.nextInt();
                int hom = sc.nextInt();
                a[i] = mid*35 + fin*45 + hom*20;
            }
            int k_score = a[k];
            Arrays.sort(a, Collections.reverseOrder());
            int k_rank = Arrays.asList(a).indexOf(k_score);
            System.out.format("#%d %s\n", t, grades[10*k_rank/n]);
        }
    }
}

4 Python[ | ]

T = int(input())
for t in range(1, T+1):
    N, K = map(int, input().split(' '))
    students = []
    grade = ['A+', 'A0', 'A-', 'B+', 'B0', 'B-', 'C+', 'C0', 'C-', 'D0']
    for n in range(N):
        midterm, final, assignment = map(int, input().split())
        sum_student = midterm * 0.35 + final * 0.45 + assignment * 0.20
        students.append(sum_student)

    k_score = students[K-1]
    students.sort(reverse=True)

    rank_of_ten = students.index(k_score) // (N//10)  # 핵심 코드
    k_grade = grade[rank_of_ten]

    print('#{} {}'.format(t, k_grade))

# github.com/wansang93/Algorithm
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}