Algorithm/SW Expert Academy
1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기
히욤이
2019. 2. 20. 22:41
1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기
* 문제의 저작권은 SW Expert에 있습니다
테스트 케이스 10개 중 9개만 맞았다.
조건 중에 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라는 조건이 있는데 이걸 못 봐서 30분이나 고생했다.
max = score[i]를 max<=score[i]로 바꾸니 바로 Pass가 되었다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //BufferedReader br = new BufferedReader(new FileReader("input.txt")); int T = Integer.parseInt(br.readLine());//test_case for (int test_case = 1; test_case <= T; test_case++) { //테스트케이스 br.readLine(); //테스트케이스 번호 int[] score = new int[101]; //점수 StringTokenizer st; st = new StringTokenizer(br.readLine()); int max = 0; //최빈수 int idx = 0; //인덱스 번호 int ans = 0; //정답 for (int i = 0; i < 1000; i++) { //학생수가 1000명이기 때문에 idx = Integer.parseInt(st.nextToken()); //점수 score[idx]++; //각 점수의 배열에 1증가 } for (int i = 0; i < score.length; i++) { if (max <= score[i]) { //i번째 점수가 최빈수 보다 크거나 같으면 max = score[i]; //max는 score[i]번째다 ans = i; } } System.out.println("#"+test_case+" " +ans); } } } | cs |