알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄
구름LEVEL
코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이
level.goorm.io
Think🤔
시험 성적의 평균과 등급 값을 나오게 하면 되는 문제이다.
그리고 입력이 띄어서 하나씩 과목이 들어오는데
이것을 split로 쪼개서 str에 담아주고 str 배열에 있는 값을 국어,수학,영어에 담아준다.
그리고 double형으로 해야되는데 3으로 나눴을 때 소수점 두자리 까지 나와야 하기 때문
성적 grade는 char로 받는데 초기화를 '\u0000' 또는 ' ' 띄어서 해줘야 한다.
그리고 switch문에 (int)average/10으로 설정해두고
case 10 : case 9 : 이렇게는 'A'이고 나머지는 6까지 D를 해주고 default로 받아주는 것이 좋음
그리고 소수점 둘 째 짜리까지 출력하려면
System.out.printf를 썼을때 %.2f를 통해서 받는다.
Solution✍
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String[] str = input.split(" ");
double korean = Double.parseDouble(str[0]);
double math = Double.parseDouble(str[1]);
double english = Double.parseDouble(str[2]);
double average = (double)((korean + math + english) / 3);
char grade = ' '; // char는 초기화 방법이 공백을 띄우거나 '\u0000'; 로 선언해줘야한다.
switch((int)average/10){
case 10 :
case 9 : grade = 'A'; break;
case 8 : grade = 'B'; break;
case 7 : grade = 'C'; break;
case 6 : grade = 'D'; break;
default : grade = 'F';
}
System.out.printf("%.2f %s", average , grade);
}
}
Review🤩
break 문을 넣어줌으로써 다 검사하지 않고, 또 char형으로 초기화 할때 ' ' 띄어쓰거나 '\u0000' 를 써야 한다는 것을 알게되었고,
printf에 대해서 정리해보자면..
%n : 줄바꿈
%s : String 형식으로 출력
%d : integer 형식으로 출력
%f : float 형식으로 출력
%t : date,time 형식으로 출력
%o : 8진수 integer 형식으로 출력
%x : 16진수 integer 형식으로 출력
%b : boolean 형식으로 출력
%e : 지수형식으로 출력
등이 있다.
'Algorithm' 카테고리의 다른 글
[구름] Bubble Sort (0) | 2021.12.25 |
---|---|
[구름] 369 게임 (0) | 2021.12.25 |
[구름] 약수 구하기 (0) | 2021.12.25 |
[구름] 3과 5의 배수 (0) | 2021.12.25 |
[구름] 홀짝 판별 (0) | 2021.12.25 |