728x90
반응형
https://www.acmicpc.net/problem/5489
풀이
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 |
댓글