땃지
ing
땃지
전체 방문자
오늘
어제
  • 분류 전체보기 (100)
    • 공부 (37)
      • Java (4)
      • Spring Boot (4)
      • 자료구조 (4)
      • CS (18)
      • JSP (6)
      • Git (1)
    • 문제 해결 (60)
      • 백준 (51)
      • 프로그래머스 (9)
    • 프로젝트 (3)
      • 당신의 안목 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Contact

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
땃지
문제 해결/백준

[Java]백준 #4344 평균은 넘겠지

2021. 9. 12. 17:03

 

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net

[문제]

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.

 

import java.util.Scanner;

public class No4344 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int c = sc.nextInt();  //테스트케이스 수
						
		for(int i=0;i<c;i++) {			
			int n = sc.nextInt();			//학생 수
			int score[] = new int[n];
			int sum=0;
			
			for(int j=0;j<n;j++) {				
				score[j] = sc.nextInt();	//점수 입력			
				sum += score[j];				
			}
			
			double avg = (double)sum/n;  //점수 평균
			int cnt=0;
			
			for(int j=0;j<n;j++) {
				if(score[j]>avg) {
					cnt++;   //평균 넘는 학생 수
				}
			}
			
			double rate = (double)cnt/n*100;  //평균 넘는 학생 비율
			System.out.printf("%.3f", rate);  //소수점 셋째자리까지
			System.out.println("%");
		}

	}

}

 

이 문제에서 주의해야 할 것은 마지막 평균의 출력이다.

반올림하여 소수점 셋째자리까지 출력해야 하므로 %.3f 를 이용해 출력했다.

위 방법은 출력시 println이 아닌 printf를 이용해야 한다.

저작자표시 비영리 변경금지 (새창열림)
    '문제 해결/백준' 카테고리의 다른 글
    • [Java]백준 #1065 한수
    • [Java]백준 #4673 셀프 넘버
    • [Java]백준 #8958 OX퀴즈 / charAt()
    • [Java]백준 #1546 평균
    땃지
    땃지

    티스토리툴바