728x90
25206번: 너의 평점은
인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치
www.acmicpc.net
풀이
F는 총 학점에 포함되고, P는 포함이 안된다는 사실을 꼭 간과하지 말 것 ..
package 백준renew;
import java.io.*;
import java.util.*;
public class 실버5_25206_너의평점은 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
double grade[] = {1.0f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 4.5f};
String arr[][] = new String[20][3];
for(int i=0; i<20; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
arr[i][0] = st.nextToken();
arr[i][1] = st.nextToken();
arr[i][2] = st.nextToken();
}
double sum = 0;
double cnt = 0;
for(int i=0; i<20; i++) {
if(!arr[i][2].equals("P")) {
sum += Double.valueOf(arr[i][1]);
if(arr[i][2].equals("A+")) {
cnt += (Double.valueOf(arr[i][1])*grade[7]);
}else if(arr[i][2].equals("A0")) {
cnt += (Double.valueOf(arr[i][1])*grade[6]);
}else if(arr[i][2].equals("B+")) {
cnt += (Double.valueOf(arr[i][1])*grade[5]);
}else if(arr[i][2].equals("B0")) {
cnt += (Double.valueOf(arr[i][1])*grade[4]);
}else if(arr[i][2].equals("C+")) {
cnt += (Double.valueOf(arr[i][1])*grade[3]);
}else if(arr[i][2].equals("C0")) {
cnt += (Double.valueOf(arr[i][1])*grade[2]);
}else if(arr[i][2].equals("D+")) {
cnt += (Double.valueOf(arr[i][1])*grade[1]);
}else if(arr[i][2].equals("D0")) {
cnt += (Double.valueOf(arr[i][1])*grade[0]);
}
}
}
double ans = cnt/sum;
if(sum == 0) {
ans = 0;
}
sb.append(ans);
bw.write(sb.toString());
bw.close();
}
}
728x90
'코딩테스트 > Algorithm' 카테고리의 다른 글
[BOJ] 1063: 킹 (JAVA) (0) | 2024.04.17 |
---|---|
[BOJ] 1270: 전쟁 - 땅따먹기 (JAVA) (0) | 2024.04.16 |
[BOJ] 1475: 방 번호 (JAVA) (0) | 2024.04.15 |
[BOJ] 18352: 특정 거리의 도시 찾기 (JAVA) (0) | 2024.04.15 |
[BOJ] 11055: 가장 큰 증가하는 부분 수열 (JAVA) (0) | 2024.04.15 |