티스토리 뷰
728x90
반응형
백준 온라인 저지(BOJ) 4344번 평균은 넘겠지
https://www.acmicpc.net/problem/4344
* 사용언어 : 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
- 독서 감상평
- 최재천의공부
- 여가포인트
- 세상을 읽는 새로운 언어 빅데이터
- 문현공
- 자동차보험
- 정올
- 삼성전자
- 긴 자리 곱셈
- JUNGOL
- 긴 자리 덧셈 뺄셈
- 독서감상평
- 동탄에듀센터
- 당신도느리게나이들수있습니다
- 원서잡아먹는영작문
- 자이언트임팩트
- 나는늘잘해야한다고생각한다
- 정세현의통찰
- 영화감상평
- 알고리즘
- 시대예보
- 인간본성불패의법칙
- AdSendse
- 동탄에듀센터2
- 나의첫죽음학수업
- 호암의마지막꿈
- 센터독서클럽
- 쿠프마케팅
- 안전운전특약
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함