"BOJ 4344 평균은 넘겠지"의 두 판 사이의 차이

35번째 줄: 35번째 줄:
<source lang='perl'>
<source lang='perl'>
use List::Util qw( sum );
use List::Util qw( sum );
foreach $i (1 .. <STDIN>) {
foreach $i (1 .. <>) {
         @scores = (split / /, <STDIN>);
         @scores = (split / /, <>);
         $n = shift @scores;
         $n = shift @scores;
         $avg = sum(@scores) / $n;
         $avg = sum(@scores) / $n;

2018년 7월 30일 (월) 17:36 판

1 개요

BOJ 단계별로 풀어보기
순번 문제 풀이

틀:BOJ 4단계 틀:BOJ 단계 푸터

BOJ 4344 평균은 넘겠지

[[분류:BOJ {{{단계}}}단계]]

  • 평균이 넘는 학생들의 퍼센테이지를 출력하는 문제

2 Java

import java.util.*;
public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for( int i=0; i<n; i++ ) {
            int m = sc.nextInt();
            int[] nums = new int[m];
            for( int j=0; j<m; j++ ) {
                nums[j] = sc.nextInt();
            }
            double avg = Arrays.stream(nums).average().getAsDouble();
            int cnt = 0;
            for( int j=0; j<m; j++ ) {
                if( nums[j]>avg ) cnt++;
            }
            System.out.format("%.3f%%\n", 100.0*cnt/m);
        }
    }
}

3 Perl

use List::Util qw( sum );
foreach $i (1 .. <>) {
        @scores = (split / /, <>);
        $n = shift @scores;
        $avg = sum(@scores) / $n;
        foreach (@scores) { our $cnt; $cnt++ if ($_ > $avg); }
        printf( "%.3f%%\n", (100*$cnt/$n) );
}

4 PHP

<?php
fscanf(STDIN,'%d',$t);
for($i=0; $i<$t; $i++) {
    $scores = explode(' ',rtrim(fgets(STDIN)));
    $n = array_shift($scores);
    $avg = array_sum($scores) / $n;
    $cnt = count(array_filter($scores, function($s) use ($avg) {
        return $s > $avg;
    }));
    echo number_format( 100*$cnt/$n, 3 ) . "%\n";
}

5 Python

t = int(input())
for i in range(t):
    scores = list(map(int,input().split()))
    n = scores[0]
    scores = scores[1:]
    avg = sum(scores)/n
    cnt = len([s for s in scores if s>avg])
    print( "%.3f" % (100*cnt/n), end='%\n' )
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}