반응형

 

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

+ Recent posts