반응형
풀이
먼저 문제를 분석해서 단계를 나눴다.
- 과목 개수 N 입력
- N개의 시험 점수 입력
- 최고점 M 구하기
- 모든 점수에 점수/M*100
- 평균 구하기
- 평균 출력
그리고 하나씩 구현했다.
배열의 개념을 알고 활용하면 풀 수 있는 문제였다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); //과목개수 N 입력
double [] score = new double[N];
for(int n=0 ; n<score.length ; n++) {
score[n] = sc.nextInt(); //N개의 시험점수 입력
}
sc.close();
double M = score[0];
for(int j=0 ; j<score.length ; j++) {
if(M < score[j]) {
M = score[j] ; //최고점 M 구하기
}
}
for(int i=0 ; i<score.length ; i++) {
score[i] = (score[i]/ M) * 100; // 모든 점수에 점수/최고점 M * 100
}
double sum = 0;
for(int k=0 ; k<score.length ; k++) {
sum += score[k];
}
double avg = sum/N; //평균 구하기
System.out.println(avg); //평균 출력
}
}
느낀점
문제가 요구하는 게 많을 경우 문제를 세부적으로 나눠서 기록해두면 풀이가 더 수월해진다는 것을 깨달았다.
글로 적어두는 것만으로도 머리가 덜 아팠다.
적어두지 않았으면 과정을 전부 기억하고 있어야 했기 때문일 것이다.
근데 나는 그런 거 못한다.
문제를 풀었을 때의 성취감에는 못 미치지만, 세부적인 사항을 하나하나 해결해 나갈 때마다 작은 성취감이 누적됨을 느꼈다.
게임에서 퀘스트를 하는 기분과 유사했다.
명확한 목표가 정해져 있고, 그것을 하나하나 해결해나가는 기쁨.
세부계획이 모두 완료된 후에 최종적으로 문제를 맞혔을 때의 짜릿함은 뭔가 공부의 본질이 무엇인가를 생각해보게 한다.
공부는 재미없는 것이라고 생각하며 피해왔지만, 그것은 관심도 없는 공부를 억지로 했을 때의 이야기였다.
세상 모든 것은 배우고자 하는 마음가짐만 있으면 죄다 공부일 텐데 공부라는 게 재미가 없다면 어떻게 살아갈 것인가.
세상에는 재미있는 공부도 많다. 재미있는 공부만 할 수 있으면 얼마나 좋을까.
그런데 이 재미 언제까지 갈까?
반응형
'JAVA > 백준(BAEK JOON)' 카테고리의 다른 글
[백준] 2439번 별 찍기 - 2 자바(JAVA) (0) | 2022.06.12 |
---|---|
[백준] 2438번 별 찍기 - 1 자바(JAVA) (0) | 2022.06.11 |
[백준] 1330번 두 수 비교하기 자바(JAVA) (0) | 2022.06.09 |
[백준] 1110번 더하기 사이클 자바(JAVA) (0) | 2022.06.08 |
[백준] 1008번 A/B 자바(JAVA) (0) | 2022.05.30 |