10505. 소득 불균형 D3
통계 자료를 처리할 때, 평균이 전체 집단의 특징을 꼭 잘 표현하는 것은 아니다.
예를 들어, 대다수의 국가에서는 적은 수의 사람이 국가 전체 소득의 꽤 많은 부분을 차지하기 때문에, 해당 국가의 평균 소득은 보통 사람들의 소득보다 높은 경우가 많다.
당신은, n명의 사람의 소득이 주어졌을 때 이 중 평균 이하의 소득을 가진 사람들의 수를 출력해야 한다.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
이후 T개의 테스트 케이스에 대해 각각 두 줄로 주어진다.
첫 번째 줄에는 정수의 개수 N 이 주어지며(1 ≤ N ≤ 10,000), 두 번째 줄에는 각 사람의 소득을 뜻하는 N개의 양의 정수가 주어진다. 이 정수들은 각각 1 이상 100,000 이하이다.
[출력]
각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,
각 테스트 케이스마다 한 줄씩 평균 이하의 소득을 가진 사람들의 수를 출력한다.
입력
3 7 15 15 15 15 15 15 15 10 1 1 1 1 1 1 1 1 1 100 7 2 7 1 8 2 8 4 |
// 전체 테스트 케이스 수 // 첫 번째 테스트 케이스 N=7 // 두 번째 테스트 케이스 N=10 |
출력
#1 7 #2 9 #3 4 |
// 첫 번째 테스트 케이스의 답 |
[코드]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T=Integer.parseInt(br.readLine());
for(int i=1; i<=T; i++) {
int N=Integer.parseInt(br.readLine());
int income[]=new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
int total=0;
for(int j=0; j<N; j++) {
int A=Integer.parseInt(st.nextToken());
income[j]=A;
total+=income[j];
}
int fin_total=total/N;
int how_low=0;
for(int k=0; k<N; k++) {
if(income[k]<=fin_total) {
how_low+=1;
}
}
System.out.println("#"+i+" "+how_low);
}
br.close();
}
}
'SWEA(SWExpertacAdemy)' 카테고리의 다른 글
[SWEA] 4406. 모음이 보이지 않는 사람 (자바/JAVA) (0) | 2025.05.09 |
---|---|
[SWEA] 12221. 구구단2 (자바/JAVA) (0) | 2025.05.09 |
[SWEA] 6730. 장애물 경주 난이도 D3 (지바/JAVA) (0) | 2025.05.09 |
[SWEA] 3431. 준환이의 운동관리 (자바/JAVA) (0) | 2025.05.09 |
[SWEA] 13218. 조별과제 (자바/JAVA) (0) | 2025.05.09 |