일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring mongodb switch
- 백준 2252 줄세우기
- rabbitmq 싱글톤
- spring mongoTemplate
- 안정해시
- ipfs singletone
- javav 1676
- Spring ipfs
- 전략 패턴이란
- 백준 연결요소 자바
- Java Call By Refernce
- java 1238
- 자바 백준 팩토리얼 개수
- java 백준 1509
- 자바 1676
- go
- kotiln functional interface
- java 파티
- kotiln const val
- nodejs rabbitmq
- java 팩토리얼 개수
- ipfs bean
- 백준 1504 java
- mongodb lookup
- 익명 객체 @transactional
- 백준 특정한 최단 경로
- spring mongoTemplate switch
- java 1509
- kotiln const
- spring mongodb
Archives
- Today
- Total
공부 흔적남기기
백준 4344 평균은 넘겠지 본문
728x90
반응형
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//테스트 케이스만큼 입력받음
int C = Integer.parseInt(br.readLine());
int n = 0;
List<Double> list = new ArrayList<>();
double count =0;
double sum = 0d;
double tmp;
for (int i = 0; i < C; i++) {
//값들 다 비워주기
sum = 0d;
count =0;
list.clear();
//학생들 마다의 점수와 개수 받기
String s = br.readLine();
StringTokenizer st = new StringTokenizer(s);
//개수는 처음에 나옴
n = Integer.parseInt(st.nextToken());
while (st.hasMoreTokens()) {
//점수 입력받고
tmp = Double.parseDouble(st.nextToken());
sum += tmp;
list.add(tmp);
}
//평균에 넣은뒤
sum = sum/n;
// 평균보다 높은사람 있으면 count ++
for (Double aDouble : list) {
if(aDouble > sum){
count ++;
}
}
//확률 구하기
count = count/n *100;
count = Math.round(count * 1000) / 1000.0;
//3째자리까지 출력
System.out.printf("%.3f%s\n",count,"%");
}
}
}
얼마전에 똑같은 문제를 풀었는데 풀이가 좀 다르다 이 때는 bw을 자주 사용했고
요즘은 sb를 사용하거나 sout을 사용하는중 근데 시간을보면 왔다갔다해서 케이스별로 나눠서 사용하는게 좋을 듯
import java.io.*;
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 c = Integer.parseInt(br.readLine());
for (int i = 0; i < c; i++) {
String[] scores = br.readLine().split(" ");
int n = Integer.parseInt(scores[0]);
int[] score = new int[n];
int sum = 0;
for (int j = 0; j < n; j++) {
score[j] = Integer.parseInt(scores[j+1]);
sum += score[j];
}
int avg = sum / n;
double higher = 0d;
for (int j = 0; j < n; j++) {
if (score[j] > avg) {
higher += 1.0;
}
}
double answer = 100 * higher / n;
if (i < c - 1) {
bw.write(String.format("%.3f", answer)+'%' + "\n");
}else{
bw.write(String.valueOf(String.format("%.3f", answer)+'%'));
}
}
bw.flush();
bw.close();
}
}
728x90
반응형
'코테 > 백준' 카테고리의 다른 글
백준 2941 크로아티아 알파벳 자바 (0) | 2022.01.20 |
---|---|
백준 4673 셀프넘버 (0) | 2022.01.19 |
백준 1110 더하기 사이클 (0) | 2022.01.18 |
백준 2884 알람 시계 (0) | 2022.01.18 |
백준 2588 곱셈 (0) | 2022.01.17 |