본문 바로가기

SWEA/D2

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

[문제]

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

www.swexpertacademy.com

 

[풀이방법]

 

숫자의 빈도수를 저장할 일차원 배열(DP)를 생성한다. 

숫자를 입력받으면서 해당하는 배열의 인덱스 값을 1씩 증가한다. 

만약, max값이 dp[score]와 같거나 작은 경우에는 max값을 dp[score]로 지정하고

해당 점수를 저장하기 위해 index 변수에 점수를 저장한다. 

 


            int max = 0;

            int index= 0;

            st = new StringTokenizer(br.readLine());

            for (int i = 0; i < 1000; i++) {

                int score = Integer.parseInt(st.nextToken());

                

                dp[score]++;

                if (max <= dp[score]) {

                    max = dp[score];

                    index = score;

                }

            }

            

            sf.append("#" + t + " " + index + "\n");