반응형
import java.util.Scanner;
class Main {
public static void main(String[] args) {
스케줄[] arr = get스케줄FromInput();
sort(arr);
print(arr);
}
private static void print(스케줄[] arr) {
for ( int i = 0; i < arr.length; i++ ) {
System.out.println(arr[i].name);
}
}
private static void sort(스케줄[] arr) {
for ( int i = arr.length-1; i > 0; i-- ) {
for ( int k = 0; k < i; k++ ) {
if ( arr[k].isEarlierThanOnDic(arr[k+1]) ) {
스케줄 temp = arr[k];
arr[k] = arr[k+1];
arr[k+1] = temp;
}
}
}
}
private static 스케줄[] get스케줄FromInput() {
Scanner scanner = new Scanner(System.in);
int arr_len = scanner.nextInt();
scanner.nextLine();
스케줄[] arr = new 스케줄[arr_len];
for ( int i = 0; i < arr.length; i++ ) {
스케줄 a스케줄 = new 스케줄();
a스케줄.name = scanner.next();
a스케줄.year = scanner.next();
a스케줄.month = scanner.next();
a스케줄.day = scanner.next();
a스케줄.year = String.format("%04d", Integer.parseInt(a스케줄.year));
arr[i] = a스케줄;
}
scanner.close();
return arr;
}
}
class 스케줄 {
String name;
String year;
String month;
String day;
public String getCompareStr() {
return year + month + day + name;
}
public boolean isEarlierThanOnDic(스케줄 other) {
String str = this.getCompareStr();
String str2 = other.getCompareStr();
return str.compareTo(str2) > 0;
}
}
반응형
'기타' 카테고리의 다른 글
컴퓨터의 저장 단위(비트, 바이트) (0) | 2020.04.23 |
---|---|
자바 문자열 공백제거(replaceAll, trim) (0) | 2020.04.22 |
일정 정리 (0) | 2020.04.21 |
문자열 비교(compareTo) (0) | 2020.04.21 |
거품정렬 관련 - 기동장치 만들기 (0) | 2020.04.17 |