Ethan(기린)
그린기린그림 일기
Ethan(기린)
전체 방문자
오늘
어제
  • 전체보기 (43)
    • Language (4)
      • JavaScript (4)
    • Web (0)
      • HTML (0)
    • Problem Solving (29)
      • BOJ (18)
      • 프로그래머스 (10)
    • Computer Science (3)
      • Algorithm & Data Structure (2)
      • Network (1)
    • Error Log (4)
    • Config (1)
      • Test (1)
    • Thinking (2)
      • Retrospect (2)
      • Essay (0)
    • Book (0)

인기 글

최근 글

최근 댓글

태그

  • 객체 지향 프로그래밍
  • Lv. 1
  • 프로그래머스
  • JavaScript
  • Java
  • OOP
  • Object-oriented programming
  • Java의 정석 3rd Edition
  • Problem Solving
  • 문자열
  • 알고리즘
  • Lv. 2
  • 완전탐색
  • 백준
  • boj

티스토리

hELLO · Designed By 정상우.
Ethan(기린)

그린기린그림 일기

[백준 4344번/1차원 배열] 평균은 넘겠지 - Java
Problem Solving/BOJ

[백준 4344번/1차원 배열] 평균은 넘겠지 - Java

2021. 3. 15. 17:12

www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

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

www.acmicpc.net


내 코드

import java.util.Scanner;

class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int[] arr;
        
		// 테스트케이스 수 입력
		int testCase = sc.nextInt();
		for(int i = 0; i<testCase; i++) {

			int m = sc.nextInt();
			arr = new int[m];

			double sum = 0;

			//성적 입력
			for(int j = 0; j < m; j++) {
				int tmp = sc.nextInt();
				arr[j] = tmp;
				sum += tmp;
			}

			double avg = (sum / m);
			double count = 0;

			// 평균을 넘는 학생 비율 찾기
			for (int j = 0; j < m; j++) {
				if(arr[j] > avg ) {
					count++;
				}
			}
			System.out.printf("%.3f%%%n",(count/m)*100);
		}
		sc.close();
	}
}

케이스 마다 학생의 수와 학생 별 점수가 입력되고 그 케이스 마다 평균을 초과하는 학생이 얼마나 되는지 비율로 소수점 셋째짜리까지 출력해야 하는 문제다. 출력 결과는 소수점이 그대로 나올 수 있도록 해당 연산을 수행하는 변수를 double 타입의 자료형으로 선언한다. 위 코드의 경우 count나 m 중에 하나가 double 타입이면 한 쪽의 int 타입이 자동형변환(double>int)을 이루어 double 타입의 결과를 출력할 수 있다. 

테스트 케이스 만큼 반복문을 통해 학생 수, 성적을 배열에 저장하고 그 성적을 모두 합한 결과까지 구한다. 그 다음 평균이 넘는 학생을 구하기 위해서 (평균을 넘는 학생 / 총 학생 수) * 100 을 해준 후에 printf() 함수로 출력 포멧을 소수점 3자리로 정해준다. 


생각해야할 점

  1. 출력 값은 소수점 셋째자리까지 출력해야 한다. ( 뒤에 '%'특수문자까지 출력되어야 함 )
  2. 각 테스트 케이스의 첫 번째 입력 값은 해당 케이스의 입력 개수라는 점
저작자표시 비영리 (새창열림)

'Problem Solving > BOJ' 카테고리의 다른 글

[백준 1065/함수]한수 - JavaScript  (0) 2021.10.10
[백준 11720번/문자열] 숫자의 합 - Java  (0) 2021.03.16
[백준 8958번/1차원 배열] OX퀴즈 - Java  (0) 2021.03.15
[백준 1546번/1차원 배열] 평균 - Java  (0) 2021.03.15
[백준 3052번/1차원 배열] 나머지 - Java  (0) 2021.03.15
    'Problem Solving/BOJ' 카테고리의 다른 글
    • [백준 1065/함수]한수 - JavaScript
    • [백준 11720번/문자열] 숫자의 합 - Java
    • [백준 8958번/1차원 배열] OX퀴즈 - Java
    • [백준 1546번/1차원 배열] 평균 - Java
    Ethan(기린)
    Ethan(기린)

    티스토리툴바