728x90
ArrayList로 받는 이유는
중복되는 책들 때문에 배열의 크기가 정확하게 정해지지 않았기 때문입니다.
books_array로 중복되지 않는 책들의 집합들을 저장합니다
저장한 index에 맞추어서 책의 개수를 저장할
idx또한 counting 해줍니다. 이 때, 책의 개수가 최대인 책의 index를
max변수에 저장해두는 식을 적어줍니다.
max의 값과 동일한 수의 책들의 집합을 res_array에 넣어주고,
사전순으로 Sorting 후에
가장 맨 앞의 책을 출력해줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); ArrayList<String> books_array = new ArrayList<String>(); ArrayList<String> res_array = new ArrayList<String>(); int[] idx = new int[1001]; int max=0; for(int i=0;i<N;i++) { String input = sc.next(); if(!books_array.contains(input)) { books_array.add(input); } idx[books_array.indexOf(input)]++; if(idx[books_array.indexOf(input)]>max) max=idx[books_array.indexOf(input)]; } for(int i=0;i<N;i++) { if(idx[i]==max) res_array.add(books_array.get(i)); } Collections.sort(res_array); System.out.println(res_array.get(0)); } } |
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[백준][Java] 1193번 분수찾기 (0) | 2018.04.26 |
---|---|
[백준][Java] 2292번 벌집 (0) | 2018.04.25 |
[백준][Java] 10808번 알파벳 개수 (0) | 2018.04.21 |
[백준][Java] 1100번 하얀 칸 (0) | 2018.04.21 |
[백준][Java] 1026번 보물 (0) | 2018.04.21 |