[SWEA] 1204. 최빈수 구하기 _ JAVA

jii0_0·2022년 8월 11일
0

SW Expert Academy

목록 보기
1/33
post-thumbnail

1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (D2)

문제 링크

  • 0점부터 100점 사이의 점수에서 최빈수를 구하는 문제이다.
  • 0부터 100을 인덱스로 두는 배열을 만들어서 입력에 따라 그 인덱스의 값을 +1 해준 후
  • Arrays.sort()를 사용하여 가장 큰 값을 가지는 인덱스를 출력하면 된다.
  • 하지만 sort()를 사용하지 않고 풀어 보았다.

Solution

package swea;
// [S/W 문제해결 기본] 1일차 - 최빈수 구하기
import java.util.Scanner;

public class p1204 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		for (int t = 1; t <= T; t++) {
			sc.nextInt();
			int[] scores = new int[101]; // 100점 까지 점수 나온 점수의 개수 저장
			for (int i = 0; i < 1000; i++) { // 1000명의 학생의 점수 입력
				scores[sc.nextInt()]++;
			}
			int max = 0, idx = 0; // 최빈값과 최빈값인 점수 저장 변수
			for (int i = 100; i > 0; i--) { // 큰 점수 부터
				if (scores[i] > max) { // 최빈값 찾기
					max = scores[i]; // 빈도수 저장
					idx = i; // 최빈값 점수
				}
			}

			System.out.printf("#%d %d\n", t, idx);
		}
	}
}
profile
느려도 꾸준히

0개의 댓글