티스토리 뷰
728x90
반응형

백준 온라인 저지(BOJ) 4344번 평균은 넘겠지
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 정답과 출력값의 절대/상대 오차는 10-3이하이면 정답이다.
www.acmicpc.net
* 사용언어 : java, 자바
1. 문제
C번의 테스트 케이스
N명의 점수를 입력받고, 평균을 넘는 학생의 비율을 소수점 넷째자리 반올림하여 출력
2. 풀이
1) 여러 개의 테스트 케이스를 처리하기 위해
바깥 쪽에서 C를 입력 받아서 for문을 돌립니다.
for문에서 반복을 시작할 때, 초기화가 필요한 변수들을 초기화를 해줍니다.
점수를 담는 배열 scores는 n을 입력받고 0부터 n-1까지의 값만 입력받고 사용하기 때문에
굳이 초기화를 할 필요가 없습니다.
2) 이제 for문 안쪽을 생각해보겠습니다.
입력 받으면서 누가 평균보다 높은 지 한 번에 처리한다면 좋겠는데,
모든 점수를 입력받지 않으면 평균을 구할 수가 없죠.
그래서 어쩔 수 없이 입력을 모두 받고 (그러면서 total에 더해줍니다)
평균을 구한 후에, 다시 for문을 돌면서 평균과 각 점수를 비교해줍니다.
평균보다 크면 count를 1 올려주고, 아니면 넘어갑니다.
출력에서는 printf 메서드를 써서 간단하게 반올림을 처리할 수 있습니다.
형식을 맞추기 위해(% 붙이고 한 줄 개행) println 메서드도 사용했습니다.
3. 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int c = sc.nextInt();
int n, total, count;
double avg;
int scores[] = new int[1000];
for (int i = 0; i < c; ++i) {
n = sc.nextInt();
total = 0;
count = 0;
for (int j = 0; j < n; ++j) {
scores[j] = sc.nextInt();
total += scores[j];
}
avg = (double)total / n;
for (int j = 0; j < n; ++j) {
if (scores[j] > avg) count++;
}
System.out.printf("%.3f", 100.0 * count / n);
System.out.println("%");
}
sc.close();
}
}
728x90
반응형
'개발자 > 문제풀이(Java)' 카테고리의 다른 글
| [백준/BOJ] 4673번 셀프 넘버 (java) (2) | 2018.01.23 |
|---|---|
| [백준/BOJ] 1110번 더하기 사이클 (java) (6) | 2018.01.22 |
| [백준/BOJ] 1546번 평균 (java) (5) | 2018.01.08 |
| [백준/BOJ] 10871번 X보다 작은 수 (java) (0) | 2018.01.06 |
| [백준/BOJ] 10817번 세 수 (java) (1) | 2018.01.04 |
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 동탄에듀센터2
- 독서감상평
- 쿠프마케팅
- 관계가상처가되기전에
- 정올
- 센터독서클럽
- 자료구조
- 알고리즘
- 이용제한
- 세상을 읽는 새로운 언어 빅데이터
- 문현공
- 마침내 특이점이 시작된다
- 시대예보
- 당신도느리게나이들수있습니다
- 아가별
- 독서 감상평
- 정세현의통찰
- 삼성전자
- 유연함의힘
- 인간본성불패의법칙
- 영화감상평
- 동탄에듀센터
- 최재천의공부
- 시스템개발자
- 똑똑하고게으르게
- 나의첫죽음학수업
- 여가포인트
- 이상감지
- 자동차보험
- JUNGOL
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함