[BOJ] 1546 JAVA

Organ·2023년 9월 10일
1

[문제 풀이]

목록 보기
28/123

평균

문제

내 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


		int N = Integer.parseInt(br.readLine());
		double max = 0;
		double total = 0;
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		double[] score = new double[N];
		for (int i = 0; i < N; i++) {

			score[i] = Double.parseDouble(st.nextToken());
			if (score[i] > max)
				max = score[i];
		}

		for (int i = 0; i < N; i++) {
			score[i] = score[i] / max * 100;
			total += score[i];
		}

		System.out.printf("%f", total / N);

	}
}

다른 풀이

import java.util.Arrays;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class Main {
	public static void main(String[] args) throws IOException {
 
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
		double arr[] = new double[Integer.parseInt(br.readLine())];
        
		StringTokenizer st = new StringTokenizer(br.readLine()," ");
		
		for(int i = 0; i < arr.length; i++) {
			arr[i] = Double.parseDouble(st.nextToken());
		}
		
		double sum = 0;
		Arrays.sort(arr);
		
		for(int i = 0; i < arr.length; i++) {
			sum += ((arr[i] / arr[arr.length - 1]) * 100);
		}
		System.out.print(sum / arr.length);
	}
}

정리

두번째 줄에서 공백 포함 입력이라는걸 생각 못하고 BufferedReader로 하다가 계속 실패하다가 겨우 찾았다. 한 번 안 보이면 계속 안보인다. 다른 풀이를 보니 array메소드를 쓰던데 이제 슬슬 메소드들을 써야하나 생각이 든다.

출처

https://st-lab.tistory.com/47

0개의 댓글