대소문자 신경쓰지 않고
사전상 가장 앞에 있는 단어를 출력합시다
딱 보면 전부 대문자(소문자)로 변환하고
사전순으로 sort하면 되겠다!!!
싶었지만
보이는 바와 같이 대문자와 소문자를 섞어서 출력해야합니다
1. 일단 입력을 받고요
2. 정렬할 때!만 소문자로 바꿔서
3. 출력합시다
코드입니다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while (true) {
int n = Integer.parseInt(br.readLine());
if(n==0) {
break;
}
String[] arr = new String[n];
for(int i=0; i<n; i++) {
arr[i] = br.readLine();
}
Arrays.sort(arr, new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
});
sb.append(arr[0]).append("\n");
}
System.out.println(sb);
}
}
s1.toLowerCase()는 소문자로 바꾸는 부분이고요
str.compareTo(str)은 Comparator에서 sort하는데 필요한 부분입니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 2231 JAVA 자바] 분해합 (0) | 2023.07.31 |
---|---|
[백준 2217 JAVA 자바] 로프 (0) | 2023.07.31 |
[백준 2164 JAVA 자바] 카드2 (0) | 2023.07.31 |
[백준 2108 JAVA 자바] 통계학 (0) | 2023.07.31 |
[백준 1009 JAVA 자바] 분산처리 (0) | 2023.07.31 |