```
백준 2204번 도비의 난독증 테스트 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 2204번 풀이
https://www.acmicpc.net/problem/2204
2204번: 도비의 난독증 테스트
꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실
www.acmicpc.net
백준 2204번 도비의 난독증 테스트는
난이도 브론즈 등급의 문제로서
테스트 케이스마다
입력받은 각 단어를 알파벳 소문자로 표현할 경우
사전 순으로 가장 빠른 단어를 찾아주는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
요즘 트렌드가 while문을 안 쓰고 일정량 이상 반복하면
알아서 종료하게 하는 게 많아서
for문을 썼고
알파벳 소문자를 비교해서 정렬한 다음
사전 순 정렬 후 제일 첫 단어를 출력했습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
final int MAX_TRY = 10000;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < MAX_TRY; i++) {
final int words = Integer.parseInt(br.readLine());
if (words == 0) {
break;
}
List<String> inputList = new ArrayList<>();
for (int j = 0; j < words; j++) {
inputList.add(br.readLine());
}
inputList.sort(Comparator.comparing(lhs -> lhs.toLowerCase(Locale.ROOT)));
sb.append(inputList.stream().findFirst().get()).append("\n");
}
if (sb.length() > 0) {
sb.setLength(sb.length() - 1);
}
System.out.print(sb);
}
}
// https://codemasterkimc.tistory.com
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 11557번 Yangjojang of The Year JAVA 구현해보기 (0) | 2022.06.06 |
|---|---|
| 백준 5355번 화성 수학 JAVA 구현해보기 (0) | 2022.06.06 |
| 백준 4493번 가위 바위 보? JAVA 구현해보기 (0) | 2022.06.05 |
| 백준 9612번 Maximum Word Frequency JAVA 구현해보기 (0) | 2022.06.05 |
| 백준 9506번 약수들의 합 JAVA 구현해보기 (0) | 2022.06.05 |