알고리즘 - 백준_11652번_카드

jodbsgh·2023년 4월 18일
0

✅코드

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine()); // 입력될 정수의 개수
        long[] nums = new long[n]; // n개의 정수를 담을 long 배열 생성
        for (int i = 0; i < n; i++) {
            nums[i] = Long.parseLong(br.readLine()); // n개의 정수 입력 받음
        }
        Arrays.sort(nums); // 입력받은 정수를 오름차순으로 정렬

        int maxCnt = 1, cnt = 1; // maxCnt: 가장 많이 나온 정수의 개수, cnt: 현재까지 나온 가장 많이 나온 정수의 개수
        long maxNum = nums[0]; // maxNum: 가장 많이 나온 정수

        for (int i = 1; i < n; i++) { // 배열 nums를 탐색
            if (nums[i] == nums[i - 1]) { // 이전 정수와 현재 정수가 같은 경우
                cnt++; // 현재까지 나온 가장 많이 나온 정수의 개수 증가
            } else { // 이전 정수와 현재 정수가 다른 경우
                cnt = 1; // 현재까지 나온 가장 많이 나온 정수의 개수를 1로 초기화
            }
            if (cnt > maxCnt) { // 현재까지 나온 가장 많이 나온 정수의 개수가 기존의 maxCnt보다 큰 경우
                maxCnt = cnt; // maxCnt 갱신
                maxNum = nums[i]; // maxNum 갱신
            }
        }

        bw.write(Long.toString(maxNum)); // 가장 많이 나온 정수 출력
        bw.newLine(); // 개행문자 삽입
        bw.flush(); // 버퍼에 남아있는 내용 출력

        br.close();
        bw.close();
    }
}
profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글