umilove98의 블로그

백준 2204 Java 자바 본문

algorithm/백준

백준 2204 Java 자바

umilove98 2021. 8. 29. 15:14
반응형

각 단어들을 입력받아 리스트에 저장한 뒤 각 리스트의 인덱스 번호마다 순위를 저장하는 리스트를 새로 만든다.

단어가 담겨 있는 리스트를 순회하며 각 인덱스 번호의 단어가 몇순위인지를 순위를 저장하는 리스트에 저장한다.

순위를 저장하는 리스트에서 값이 1인 인덱스 번호를 추출한다.

단어가 담겨 있는 리스트에서 추출한 인덱스 번호의 단어를 출력한다.

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
34
35
36
37
38
39
40
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
public class Q2204 {
 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while(true) {
            int n = Integer.parseInt(br.readLine());
            if(n == 0) {    // 0이 입력된 경우 프로그램 종료
                break;
            }
            
            ArrayList<String> list = new ArrayList<String>();    // 입력받은 단어들을 저장해둘 리스트
            ArrayList<Integer> ranklist = new ArrayList<Integer>();    // 입력받은 단어들의 사전상 순위를 저장할 리스트
            
            for(int i = 0; i < n; i++) {    // 단어들을 입력받아 리스트에 저장 
                list.add(br.readLine());
            }
            
            for(int i = 0; i < n; i++) {    // 리스트에 저장된 단어들을 순차적으로 하나씩 선택
                int rank = 1;                // 선택된 단어가 리스트에 있는 모든 단어들 중 몇번째 순위인지 체크하는 변수
                for(int j = 0; j < n; j++) {// 선택된 단어를 리스트의 다른 모든 단어와 비교
                    if(list.get(i).toLowerCase().compareTo(list.get(j).toLowerCase()) > 0) {    // 선택된 단어와 리스트의 모든 단어들을 전부 소문자로 만들고 비교하여 선택된 단어보다 사전순으로 앞서는 단어가 나올 경우 rank +1
                        rank++;
                    }
                }
                ranklist.add(rank);            // 각 인덱스의 단어마다 구해진 순위를 ranklist에 저장
            }
            int resindex = ranklist.indexOf(1);    // 순위가 가장 앞서는 1위인 단어의 인덱스 번호를 가져옴 
            System.out.println(list.get(resindex));    // 순위가 가장 앞서는 인덱스 번호의 단어를 list에서 출력
        }
        
 
    }
 
}
 
cs
반응형

'algorithm > 백준' 카테고리의 다른 글

백준 2455 Java 자바  (0) 2021.08.30
백준 2435 Java 자바  (0) 2021.08.30
백준 2355 Java 자바  (0) 2021.08.28
백준 2581 Java 자바  (0) 2021.08.27
백준 2163 Java 자바  (0) 2021.08.27