[백준] - 단계별로 풀어보기(1차원 배열) 4344

10523 단어 Java백준Java

백준 4344번

평균은 넘겠지

문제 출처 https://www.acmicpc.net/problem/4344


내가 작성한 코드

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

public class Main {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int n = Integer.parseInt(br.readLine());
		
		for(int i=0; i<n; i++) {
			double sum=0; //한바퀴 돌때마다 sum을 0 으로 초기화
			double count=0; 
			StringTokenizer st = new StringTokenizer(br.readLine());
			int k = st.countTokens(); //토큰의 수
			int str[] = new int[k];
			for(int j=0; j<k; j++) { 
				str[j] = Integer.parseInt(st.nextToken());
			}
			for(int z=1; z<k; z++) {
				sum += str[z]; //str[0]를 제외한 나머지 값을 모두 더함
			}
			for(int a=1; a<k; a++) {
				if(str[a]>sum/str[0]) { //str[0]을 제외한 값들 중 평균보다 값이 크면
					count++; //count에 +1
				}
			}
			bw.write(String.format("%.3f",count/str[0] * 100)+"%\n"); //비율 구하기
		}	
		bw.flush();
		bw.close();
	}
}

좋은 웹페이지 즐겨찾기