문제
나의 풀이
쉬웠다. 입출력 모두 버퍼를 활용하려고 했다. 버퍼로 출력할 때 형식을 어떻게 지정하는지 몰랐는데, String.format 클래스를 처음 알게 되어 사용했다.
package baekjunOnlineJudge;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Bj_4344 {
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 testCaseCount = Integer.parseInt(br.readLine());
String[] testCase = new String[testCaseCount];
for(int i=0; i<testCaseCount; i++) {
testCase[i] = br.readLine();
String[] studentCountAndScore = testCase[i].split(" ");
int studentCount = Integer.parseInt(studentCountAndScore[0]);
int sumOfScore = 0;
int aboveMeanScoreStudentCount = 0;
for(int j=1; j<=studentCount; j++) { // 평균 구하기
sumOfScore+=Integer.parseInt(studentCountAndScore[j]);
}
for(int j=1; j<=studentCount; j++) { // 평균을 넘는 학생 비율 구하기 (소수점 셋째 자리까지 출력)
if(Integer.parseInt(studentCountAndScore[j]) > (float)sumOfScore/studentCount) {
aboveMeanScoreStudentCount++;
}
}
bw.write(String.format("%.3f", (float)aboveMeanScoreStudentCount/studentCount*100)+"%\n");
}
bw.flush();
bw.close();
}
}
'프로그래밍-학습기록 > 코딩테스트' 카테고리의 다른 글
우아한 테크코스 코딩테스트 + 프리코스 회고 (0) | 2020.12.21 |
---|---|
백준 온라인 저지 | 4673 | 함수: 셀프 넘버 (0) | 2020.07.31 |
백준 온라인 저지 | 8958 | 배열: OX퀴즈 (0) | 2020.07.29 |
백준 온라인 저지 | 1546 | 배열: 평균 (0) | 2020.07.28 |
백준 온라인 저지 | 3052 | 배열: 나머지 (0) | 2020.07.28 |