"SWEA 1984 중간 평균값 구하기"의 두 판 사이의 차이

58번째 줄: 58번째 줄:
<source lang='python'>
<source lang='python'>
#kcy
#kcy
k = int(input())
k = int(input())
for i in range(1, k+1):
for i in range(1, k+1):
     n = list(map(int, input().split()))
     n = list(map(int, input().split()))
     max_num = n[0]
     max_num = n[0]
     min_num = n[0]
     min_num = n[0]
   
     for j in range(len(n)):
     for j in range(len(n)):
         if max_num <= n[j]:
         if max_num <= n[j]:
             max_num = n[j]
             max_num = n[j]
           
         if min_num >= n[j]:
         if min_num >= n[j]:
             min_num = n[j]
             min_num = n[j]
           
     n.remove(max_num)
     n.remove(max_num)
     n.remove(min_num)
     n.remove(min_num)
   
     print("#%d" %i, round(sum(n)/len(n)))
     print("#%d" %i, round(sum(n)/len(n)))
 
</source>
<source lang='python'>
T = int(input())
for tt in range(1, T+1):
    a = list(map(int, input().split()))
    print( "#%d %d" % (tt, round( (sum(a)-max(a)-min(a))/8)) )
</source>
</source>

2019년 11월 11일 (월) 11:35 판

1 개요

SWEA 1984 중간 평균값 구하기
  • 합에서 최대값, 최소값을 빼고 8로 나눈 후 반올림하여 구한다.
SW Expert 아카데미
# 문제 풀이

틀:SWEA 난이도 2-1

2 C++

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	int T;
	scanf("%d", &T);
	int a[10];
	for(int tc=1; tc<=T; tc++) {
		for(int i=0; i<10; i++) scanf("%d", &a[i]);
		int min = 10000;
		int max = 0;
		int sum = 0;
		for(int i=0; i<10; i++) {
			if( a[i] < min ) min = a[i];
			if( a[i] > max ) max = a[i];
			sum += a[i];
		}
		int res = round((sum-min-max)/8.0F);
		printf("#%d %d\n", tc, res);
	}
}

3 Java

import java.util.Scanner;
public class Solution {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            int sum = 0;
            int max = 0;
            int min = 10000;
            for(int i=0; i<10; i++) {
                int n = sc.nextInt();
                if( n > max ) max = n;
                if( n < min ) min = n;
                sum += n;
            }
            System.out.format("#%d %d\n", t, Math.round( (sum-max-min)/8.0 ));
        }
    }
}

4 Python

#kcy
k = int(input())
for i in range(1, k+1):
    n = list(map(int, input().split()))
    max_num = n[0]
    min_num = n[0]
    for j in range(len(n)):
        if max_num <= n[j]:
            max_num = n[j]
        if min_num >= n[j]:
            min_num = n[j]
    n.remove(max_num)
    n.remove(min_num)
    print("#%d" %i, round(sum(n)/len(n)))
T = int(input())
for tt in range(1, T+1):
    a = list(map(int, input().split()))
    print( "#%d %d" % (tt, round( (sum(a)-max(a)-min(a))/8)) )
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}