ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준 4344번] 평균은 넘겠지
    Algorithm/기타 2019. 12. 17. 23:25

    백준알고리즘 4344번 : 평균은 넘겠지

     

    각 점수를 받고, 이들의 합을 구한 뒤
    점수의 갯수만큼 나눠준 평균값을 정의한다.

    이러한 일련의 과정은 어렵지 않게 풀 수 있을 것이고,

    출력을 소숫점 3자리까지 반올림으로 행하는 것이 더 중요한 것 같다.

     

     

     

    풀이 과정


    1. 각 점수들을 받는 동시에, 점수 총점을 구하기 위해 더해준다.
    2. 더한 값을 점수의 갯수로 나눈다.
    3. for문을 한번 더 돌려, 평균보다 높은 점수의 갯수를 count한다.
    4. printf문을 이용하여 비율을 소수 셋째자리까지 출력한다.

     

     

     

    소스 ▽

    더보기
    import java.util.Scanner;
    
    public class Main {// 4344번 평균은 넘겠지
    	public static void main(String[] args) {
    
    		Scanner sc = new Scanner(System.in);
    		int testCase = Integer.parseInt(sc.nextLine());
    		for (int i = 0; i < testCase; i++) {
    			int num = sc.nextInt();
    			int [] arr = new int [num];
    			int sum = 0;
    			for (int j = 0; j < num; j++) {
    				arr[j] = sc.nextInt();
    				sum+=arr[j];
    			}
    			double avg= (double)sum/num;
    			int overAvg = 0;
    			for (int j = 0; j < num; j++) {
    				if (arr[j]>avg) {
    					overAvg++;
    				}
    			}
    			System.out.printf("%.3f%%\n",(double)overAvg*100/num);
    		}
    	}
    
    }

     

     

     

    Summary


    1. System.out.printf("%.3f",double값 x) : double의 값을 갖고있는 x 변수를, %f 자리에 출력한다.
        %뒤에 .3을 입력함으로써 소수 3째자리까지 반올림하여 출력할 수 있다.
    2. System.out.printf("%%") : printf에서는 %가 변수 값을 받는 역할을 하기때문에,
       %를 2번 입력함으로써 % 1개를 출력할 수 있다.

     

    댓글

Designed by Tistory.