문제
해결 방안 고민
•
Arrays.sort() 를 활용하면 될 것이라고 생각했으나 실제로 활용해본 결과 출력값과 다른 결과가 나왔다.
•
이는 대소문자를 구분하여 배열의 요소들을 정렬하기 때문이다.
•
그렇기 때문에 대소문자를 구분하지 않는 선에서 정렬을 할 필요가 있다.
해결 방법
•
대소문자는 구분하지 않기 위해 Comparator는 String.CASE_INSENSITIVE_ORDER 를 사용한다.
•
정렬이 모두 끝나면 배열의 0번째 요소를 StringBuilder에 추가하면 된다.
코드
package algo250608;
import java.util.*;
import java.io.*;
// 백준 - 도비의 난독증 테스트 (브론즈 1)
public class Baek2204 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while (true) {
int T = Integer.parseInt(br.readLine());
if (T == 0) {
break;
}
String[] words = new String[T];
for (int i = 0; i < T; i++) {
words[i] = br.readLine();
}
Arrays.sort(words, String.CASE_INSENSITIVE_ORDER); // 대소문자 구분하지 않기 위해 String.CASE_INSENSITIVE_ORDER 활용
sb.append(words[0]).append("\n");
}
System.out.println(sb);
}
}
Java
복사