문제 | 2204번 : 도비의 난독증 테스트 |
문제링크 | https://www.acmicpc.net/problem/2204 |
난이도 | B1 |
언어 | Java |
분류 | 문자열, 정렬 |
📌 최종 정답 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
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));
while(true) {
// 테스트 케이스 입력
int n = Integer.parseInt(br.readLine());
// 테스트 케이스가 0일 경우 종료
if (n == 0) {
break;
}
List<String> input = new ArrayList<>();
for(int i=0; i<n; i++) {
input.add(br.readLine());
}
// 정렬 - 대소문자 구분 없이
Collections.sort(input, String.CASE_INSENSITIVE_ORDER);
bw.write(input.get(0) + "\n");
}
bw.flush();
bw.close();
br.close();
}
}
📌 구해야 하는 정답
- 각 줄에 각 테스트케이스에서 사전상 가장 앞서는 단어를 출력
📌 코드 설계하기
1. 테스트 케이스 입력
- 테스트 케이스가 0일 경우 반복문 종료
2. 단어 입력할 리스트 생성 및 값 입력
3. 정렬 (대소문자 구분 없이)
- Collections.sort(input, String.CASE_INSENSITIVE_ORDER);
4. 가장 앞서는 단어이므로 리스트의 맨 앞 인덱스 값 출력
'Algorithms & Education > 알고리즘' 카테고리의 다른 글
[알고리즘/백준] 2303번 : 숫자 게임(Java) (4) | 2025.06.06 |
---|---|
[알고리즘/백준] 5567번 : 결혼식(Java) (0) | 2025.06.05 |
[알고리즘/백준] 2644번 : 촌수계산(Java) (1) | 2025.06.03 |
[알고리즘/백준] 11724번 :연결 요소의 개수(Java) (1) | 2025.06.02 |
[알고리즘/백준] 17204번 : 죽음의 게임(Java) (0) | 2025.06.01 |