Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 브루트포스
- 너비우선탐색
- 깊이우선탐색
- 싸피
- 알고리즘
- DP
- java
- 백트래킹
- ssafy
- 항해
- SSAFY수료식
- 99일지
- 백준
- 개발자스터디
- dfs
- 프로그래머스
- 문자열
- BOJ
- 위상정렬
- 삼성청년SW아카데미
- 다이나믹프로그래밍
- 코딩테스트
- BFS
- 자바
- programmers
- 구현
- 99클럽
- python
- 파이썬
- til
Archives
- Today
- Total
EunJng
[BOJ] 25206 너의 평점은 | Java 본문
문제
백준 25206번 너의 평점은 | 실버5
https://www.acmicpc.net/problem/25206
25206번: 너의 평점은
인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치
www.acmicpc.net
- 알고리즘 분류 : 수학 | 구현 | 문자열
풀이 과정
자바 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
double sum = 0;
double sumGrade = 0;
HashMap<String, Double> scores = new HashMap<String, Double>();
scores.put("A+", 4.5);
scores.put("A0", 4.0);
scores.put("B+", 3.5);
scores.put("B0", 3.0);
scores.put("C+", 2.5);
scores.put("C0", 2.0);
scores.put("D+", 1.5);
scores.put("D0", 1.0);
scores.put("F", 0.0);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i=0; i<20; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String name = st.nextToken();
double num = Double.parseDouble(st.nextToken());
String score = st.nextToken();
if(score.equals("P")) {
continue;
}
sum += (num * scores.get(score));
sumGrade += num;
}
double avg = sum / sumGrade;
// 소수점 아래 6자리까지 출력
System.out.printf("%.6f\n", avg);
}
}
- 등급에 따른 과목평점을 가져오기 위해 <String, Double> 형태의 HashMap 만들어서 사용
- 파이썬의 딕셔너리와 같은 기능
- put을 통해 값 입력
- `get(key)`를 통해 value 가져옴 - if - continue를 통해 등급이 P면 계산에서 제외
- string을 비교할 때는 ==이 아닌 `변수.equals("비교대상")` 을 써야 한다.
파이썬이랑 혼동해서 ==으로 비교했다가 안 돼서 한참을 애먹었다..
'PROBLEM > BAEKJOON' 카테고리의 다른 글
[BOJ] 14698 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) | Python (0) | 2023.05.12 |
---|---|
[BOJ] 7569 토마토 | Python (1) | 2023.05.11 |
[BOJ] 3673 나눌 수 있는 부분 수열 | Python | Java (1) | 2023.05.10 |
[BOJ] 2908 상수 | Java (0) | 2023.05.09 |
[BOJ] 2675 문자열 반복 | Java (0) | 2023.05.09 |