Java/Java 알고리즘

백준 2754번 학점계산 JAVA 구현해보기

kimc 2022. 6. 4. 21:31

```

백준 2754번 학점 계산 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1. 백준 2754번 풀이

https://www.acmicpc.net/problem/2754

 

2754번: 학점계산

어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0

www.acmicpc.net

 

백준 2754번 학점계산은

난이도 브론즈 등급의 문제로서

 

주어진 학점 등급에 따라서

점수를 출력하면 되는 문제입니다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


저는 평소에 Switch 보다는 Map을 자주 쓰는 편입니다.

실무에서는

메서드 안에 있는 맵을 Static으로 밖에 두고 쓸 것 같습니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {

    public static void main(String[] args) throws IOException {
        final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        final String input01 = br.readLine();
        System.out.print(solution(input01));
    }

    public static String solution(String grade) {
        Map<String, String> gradeMap = Stream.of(new String[][]{
                {"A+", "4.3"},
                {"A0", "4.0"},
                {"A-", "3.7"},
                {"B+", "3.3"},
                {"B0", "3.0"},
                {"B-", "2.7"},
                {"C+", "2.3"},
                {"C0", "2.0"},
                {"C-", "1.7"},
                {"D+", "1.3"},
                {"D0", "1.0"},
                {"D-", "0.7"},
                {"F", "0.0"}
        }).collect(Collectors.toMap(data -> data[0], data -> data[1]));

        return gradeMap.get(grade);
    }
}

// https://codemasterkimc.tistory.com

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90