반응형
문제(출처)
상현이가 가르치는 아이폰 앱 개발 수업의 수강생은 원섭, 세희, 상근, 숭, 강수이다.
어제 이 수업의 기말고사가 있었고, 상현이는 지금 학생들의 기말고사 시험지를 채점하고 있다.
기말고사 점수가 40점 이상인 학생들은 그 점수 그대로 자신의 성적이 된다.
하지만, 40점 미만인 학생들은 보충학습을 듣는 조건을 수락하면 40점을 받게 된다.
보충학습은 거부할 수 없기 때문에, 40점 미만인 학생들은 항상 40점을 받게 된다.
학생 5명의 점수가 주어졌을 때, 평균 점수를 구하는 프로그램을 작성하시오.
입력
입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다.
점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점수는 항상 정수이다.
출력
첫째 줄에 학생 5명의 평균 점수를 출력한다.
예제 입력
10
65
100
30
95
예제 출력
68
내 풀이
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
public class Main {// 입력을 받고 40점 이하의 점수는 40점으로 변환 후 평균을 구합니다. public static void main(String args[]) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
/* 배열에 넣고 풀은 문제 * try { int[] scores = new int[5]; for(int i = 0; i < scores.length; i++) { * scores[i] = Integer.parseInt(br.readLine()); if(scores[i] < 40) { scores[i] = * 40; } } * * int avg = 0; for(int i = 0; i < scores.length; i++) { avg += scores[i]; } int * result = avg/scores.length; * * bw.write(String.valueOf(result)); bw.flush(); bw.close(); * * } catch (NumberFormatException e) { e.printStackTrace(); } catch (IOException * e) { e.printStackTrace(); } */ /* 간단하게 풀은 문제 */ try { int avg = 0; for (int i = 0; i < 5; i++) { int check = Integer.parseInt(br.readLine()); if (check < 40) { check = 40; } avg += check; } bw.write(String.valueOf(avg / 5)); bw.flush(); bw.close();
} catch (NumberFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
}}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
// 입력을 받고 40점 이하의 점수는 40점으로 변환 후 평균을 구합니다.
public static void main(String args[]) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
/* 배열에 넣고 풀은 문제
* try { int[] scores = new int[5]; for(int i = 0; i < scores.length; i++) {
* scores[i] = Integer.parseInt(br.readLine()); if(scores[i] < 40) { scores[i] =
* 40; } }
*
* int avg = 0; for(int i = 0; i < scores.length; i++) { avg += scores[i]; } int
* result = avg/scores.length;
*
* bw.write(String.valueOf(result)); bw.flush(); bw.close();
*
* } catch (NumberFormatException e) { e.printStackTrace(); } catch (IOException
* e) { e.printStackTrace(); }
*/
/* 간단하게 풀은 문제
*/
try {
int avg = 0;
for (int i = 0; i < 5; i++) {
int check = Integer.parseInt(br.readLine());
if (check < 40) {
check = 40;
}
avg += check;
}
bw.write(String.valueOf(avg / 5));
bw.flush();
bw.close();
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
내 풀이 해석
40점 이하는 40점으로 치환하고 평균을 구하는 문제입니다.
반응형
'개발(합니다) > 알고리즘&코테' 카테고리의 다른 글
알고리즘 단계별로 풀어보기 : BOJ-10809(알파벳찾기) (0) | 2018.12.21 |
---|---|
알고리즘 단계별로 풀어보기 : BOJ-11654(아스키코드) (0) | 2018.12.21 |
알고리즘 단계별로 풀어보기 : BOJ-2920(음계) (0) | 2018.12.20 |
알고리즘 단계별로 풀어보기 : BOJ-8958(OX퀴즈) (0) | 2018.12.20 |
알고리즘 단계별로 풀어보기 : BOJ-2577(숫자의개수) (0) | 2018.12.20 |