728x90
반응형
https://www.acmicpc.net/problem/5489
5489번: Numbers
You are to write a program, which, given N positive integer values X1, X2, ..., XN, computes the smallest number Xi that appears in the sequence at least as many times as any other number.
www.acmicpc.net
풀이
N을 입력받고 N개의 숫자를 입력받았을 때 가장 작은 수 중 가장 많이 등장한 수를 찾는 문제입니다.
범위가 10000의 수중 가져오는 것이므로 10001크기의 배열을 구해주고 N번 입력받은 수의 위치를 1 더해줍니다.
배열의 크기만큼 for문을 실행해 max를 비교하면서 answer을 구해주면 됩니다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int size = Integer.parseInt(br.readLine());
int[] num = new int[10001];
while(size --> 0) {
num[Integer.parseInt(br.readLine()) - 1]++;
}
int max = 0, answer = 0;
for(int i = 0; i < num.length; i++) {
if(max < num[i]) {
max = num[i];
answer = i + 1;
}
}
System.out.print(answer);
}
}

전체 첫솔! 한 문제입니다!
728x90
반응형
'백준 > 5001 - 10000' 카테고리의 다른 글
[백준] 1213번 : HTML(JAVA) (0) | 2021.08.17 |
---|---|
[백준] 9342번 : 염색체(JAVA) (0) | 2021.08.09 |
[백준] 6721번 : Backward numbers(JAVA) (0) | 2021.08.02 |
[백준] 7120번 : String(JAVA) (0) | 2021.07.20 |
[백준] 5052번 : 전화번호 목록(JAVA) (0) | 2021.07.12 |
댓글