난이도: Silver 5
프로그래밍 언어: Java
문제명: 단어 정렬
푼일자: 2021년 6월
주소: https://www.acmicpc.net/problem/1181
문제풀기
처음으로 BufferedReader 를 써보았습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class question_1181 { // 단어 정렬
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
var count = Integer.parseInt(br.readLine());
var strArr = new String[count];
for (var i = 0; i < count; i++) strArr[i] = br.readLine();
Arrays.sort(strArr, (a, b) -> {
if (a.length() == b.length()) return a.compareTo(b);
else return a.length() - b.length();
});
ArrayList<String> result = new ArrayList<>();
for (var i = 0; i < count; i++) if (!result.contains(strArr[i])) result.add(strArr[i]);
for (String s : result) System.out.println(s);
br.close();
}
}
풀고난 후 든 의문이 하나 있습니다.
왜 다른 사람들은 문자열 배열에서 -1 한 뒤에 검사를 하는것을 가지고
"중복되지 않은 단어" 라고 표현을 한걸까요?
조건에 그 어떠한 부분에도 중복되는 단어가 "연속 적으로 발생하며, 2회 까지 반복이 된다" 라는 부분은 없는데 말이죠.
반응형