Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CONTINUE
- array
- 2차원배열
- 자바
- while
- 배열
- 키패드
- KH정보교육원
- 레이어팝업URL
- express
- 반복문
- 자바변수
- 모달팝업
- for
- 적용
- 자바실습문제
- Spring
- URL생성
- 분기문
- Java
- 프로그래머스
- LV1
- 문제풀이
- 정적파일
- berak
- node.js
- 레이어팝업
- 자바연산자
- dowhile
- 백준
Archives
- Today
- Total
까잉이의 개발노트
[ 백준 4344 ] 평균은 넘겠지 JAVA(자바) 문제풀이 본문
소수점 반올림 땜에 조금 까다로웠다..
헐레벌떡 제출했는데 % 안붙였다고 틀림 처리되다니!😡(억울)
이제 좀더 꼼꼼히 봐야겠다...😢
풀이순서
1. 케이스(n) 먼저 입력 받고 while문을 돌린다
2. while문 안에서 학생 수(student) 입력 받고 학생 점수를 담을 배열(scoreArr)을 선언한다
3. for문을 이용해 학생 점수를 입력 받고 배열에 담는다 그리고 대입연산자로 총 점수(total)도 구한다
4. 총 점수에서 학생 수를 나누어 평균점수(avg)를 구한다
5. 또 다시 for문으로 배열 안의 점수를 평균점수와 비교해 평균점수를 넘는 학생 수(goodStudent)를 구한다
6. "평균점수 넘는 학생 수 / 총 학생 수 * 100"으로 평균점수 넘는 학생의 비율(totalAvg)을 구한다
7. String.format()을 이용해 소수점 3째자리 반올림하여 출력하고 끝에 %를 붙인다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int i = 0;
while(i < n) {
int student = sc.nextInt(); // 학생 수
int total = 0; // 총점
int[] scoreArr = new int[student]; // 점수 담을 배열
for(int j = 0; j < student; j++) {
scoreArr[j] = sc.nextInt();
total += scoreArr[j];
}
float avg = (float)total/student; // 평균점수
int goodStudent = 0; // 평균 점수 넘는 학생 수
for(int k = 0; k < scoreArr.length; k++) {
if(scoreArr[k] > avg) {
goodStudent++;
}
}
float totalAvg = (float)goodStudent/student*100; // 평균점수 넘는 학생의 비율
System.out.println(String.format("%.3f", totalAvg) + "%");
i++;
}
}
}
'개발문제풀이' 카테고리의 다른 글
[ 백준 10809 ] 알파벳 찾기 JAVA(자바) 문제풀이 (0) | 2022.07.01 |
---|---|
[ 백준 11720 ] 숫자의 합 JAVA(자바) 문제풀이 (0) | 2022.06.30 |
[ 백준 8958 ] OX퀴즈 JAVA(자바) 문제풀이 (0) | 2022.03.25 |
[ 백준 1546 ] 평균 JAVA(자바) 문제풀이 (0) | 2022.03.24 |
[ 백준 3052 ] 나머지 JAVA(자바) 문제풀이 (0) | 2022.03.24 |
Comments