반응형
https://www.acmicpc.net/problem/25206
import java.util.Scanner;
import java.util.HashMap;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
HashMap<String,Double> pointMap = new HashMap<String,Double>();
pointMap.put("A+",4.5);
pointMap.put("A0",4.0);
pointMap.put("B+",3.5);
pointMap.put("B0",3.0);
pointMap.put("C+",2.5);
pointMap.put("C0",2.0);
pointMap.put("D+",1.5);
pointMap.put("D0",1.0);
pointMap.put("F",0.0);
int creditSum=0; //이수학점 총합
Double scoreSum=0.0; //합산점수
while(sc.hasNextLine()){
String line = sc.nextLine();
Scanner lineScanner = new Scanner(line);
//과목명은 패스
lineScanner.next();
Double credit = Double.parseDouble(lineScanner.next());
String score = lineScanner.next();
Double point=0.0;
//P 과목은 패스
if(!"P".equals(score)){
point = pointMap.get(score);
//System.out.println("합산할 점수 : " + point * credit);
scoreSum += point * credit;
creditSum += credit;
}
lineScanner.close();
}
//System.out.println("이수학점 총합 : " + creditSum);
//System.out.println("합산 점수 : " + scoreSum);
if(creditSum == 0){//합산점수가 0인경우 평점 0.0 출력
System.out.println("0.000000");
}else{
System.out.printf("%.6f",scoreSum/creditSum);
}
}
}
처음에 F인 과목까지 계산에서 제외해버려서 자꾸 틀렸다고 나왔었다..
P인 과목만 제외고 F점수는 포함
문제를 잘 이해해야겠다 ㅠ.,ㅠ
* 학습내용
1. nextLine() : "\n" 개행문자도 입력 받는다.
next()다음에 nextLine()을 하면 개행문자가 들어간다.
hasNextLine도 마찬가지.
2. lineScanner() : 한 줄 입력받기. 처음 써봤다.
반응형
'코딩 관련 > 코딩문제풀기' 카테고리의 다른 글
[프로그래머스] 숫자 짝꿍 (0) | 2024.10.04 |
---|---|
[JAVA] 9012번 괄호 (0) | 2023.03.13 |
[JAVA] 그룹 단어 체커 (0) | 2023.03.12 |
[JAVA] 크로아티아 알파벳 (0) | 2023.03.11 |
[JAVA] 직사각형에서 탈출 (0) | 2023.03.09 |