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)

인기 글

최근 글

최근 댓글

태그

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

티스토리

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

그린기린그림 일기

[백준 1546번/1차원 배열] 평균 - Java
Problem Solving/BOJ

[백준 1546번/1차원 배열] 평균 - Java

2021. 3. 15. 15:45

www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

내 코드

import java.util.Arrays;
import java.util.Scanner;

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

		Scanner sc = new Scanner(System.in);
		
		double[] arr = new double[sc.nextInt()];
		
		for(int i = 0; i<arr.length; i++) {
			arr[i] = sc.nextDouble();
		}
		sc.close();
		
		double sum = 0;
		Arrays.sort(arr);
		
		for(int i = 0; i<arr.length; i++ ) {
			sum += ( (arr[i] / arr[arr.length-1]) * 100);
		}
		System.out.println(sum / arr.length);
	}
}

우선 임의의 과목 개수 N을 받아야 하기 때문에 배열의 길이를 입력 받은 값만큼 생성한 후 배열의 길이 만큼 for문을 반복해서 배열의 각 원소에 값들을 입력받도록 한다.

Arrays.sort()를 사용하면 오름차순으로 정렬하여 최댓값은 배열의 마지막 원소에 있게 된다. 두 번째 for문에서는 각 과목에 대해 새로운 평균 계산식 (점수 / M[최댓값] * 100)을 sum에 저장하고 그것을 배열의 길이(과목의 수)만큼 나누어 평균의 결과를 출력했다.


생각해야할 점

  1.  정답에 대한 절대, 상대오차는 10^(-2)까지 허용한다는 점
  2.  과목에 대한 입력 값은 공백을 기준으로 주어진다.
  3.  출력 값은 오차범위가 있으므로 연산에서 자료형을 double 타입으로 형변환 해주어야 한다.
저작자표시 비영리 (새창열림)

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

[백준 4344번/1차원 배열] 평균은 넘겠지 - Java  (0) 2021.03.15
[백준 8958번/1차원 배열] OX퀴즈 - Java  (0) 2021.03.15
[백준 3052번/1차원 배열] 나머지 - Java  (0) 2021.03.15
[백준 2577번/1차원 배열] 숫자의 개수 - Java  (0) 2021.03.15
[백준 2562번/1차원 배열] 최댓값 - Java  (0) 2021.03.15
    'Problem Solving/BOJ' 카테고리의 다른 글
    • [백준 4344번/1차원 배열] 평균은 넘겠지 - Java
    • [백준 8958번/1차원 배열] OX퀴즈 - Java
    • [백준 3052번/1차원 배열] 나머지 - Java
    • [백준 2577번/1차원 배열] 숫자의 개수 - Java
    Ethan(기린)
    Ethan(기린)

    티스토리툴바