[SW Expert Academy] 1204. 최빈수 구하기 - Java

2019. 8. 2. 14:57프로그래밍/알고리즘

반응형

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

 

문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh

 

문제풀이
  1.  1000명의 점수를 가지는 scores배열과 0~100점 횟수를 가지고 있는 count배열 생성한다.
  2. 순차적으로 점수를 입력받는다.
  3.  count배열에는 count[ 입력받은 점수 ] 배열에 1을 증가시킴으로서 해당점수의 등장 횟수를 알 수 있다.
  4.  등장횟수를 비교하며 연산한다.

 

전체소스                                      
import java.util.*;

public class Solution{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        
        for(int i = 1; i<= T; i++)
        {
            int tc = sc.nextInt();
            int maxScore = 0;		
            int scores[] = new int[1000];		//점수
            int count[]  = new int[101];		//0~100 카운트
       
            for(int j =0; j< 1000; j++) 
            {
                scores[j] = sc.nextInt();		//점수입력
                count[scores[j]] ++ ;			//해당 점수 cnt ++
            }
            
            for(int j =0; j<count.length -1 ; j++)
            {
                if(count[maxScore] <= count[j]) 
                { maxScore = j; }
            }
            System.out.println("#" + tc + " " + maxScore);
        }
    }
}

 

반응형