728x90
300x250
오랜만에 hashmap이랑 Comparator 사용했당.
import java.util.*;
import java.io.FileInputStream;
class Days {
int idx;
String day;
public Days(int idx, String day) {
this.idx= idx;
this.day=day;
}
}
class Solution
{
public static String[] dayStr = {"ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"};
public static HashMap<String,Integer> map;
public static ArrayList<Days> ans;
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
map = new HashMap<String,Integer>();
//요일별 인덱스 세팅
for (int k = 0; k < dayStr.length; k++) {
map.put(dayStr[k], k);
}
int T = sc.nextInt();
for (int tc = 0; tc < T; tc++) {
ans = new ArrayList<Days>();
sc.next(); //#1들어오는 거 무시
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
String str = sc.next();
ans.add(new Days(map.get(str),str)); //map에다가 새로 받은 str넣어서 인덱스 가져오기
}
//Collections.sort
//인덱스 기준으로 정렬하기 오름차순
Comparator<Days> cp = new Comparator<Days>() {
@Override
public int compare(Days d1, Days d2) {
if(d1.idx>d2.idx)
return 1;
else if(d1.idx==d2.idx)
return 0;
else
return -1;
}
};
Collections.sort(ans,cp);
System.out.print("#"+(tc+1)+" ");
for(Days d : ans) {
System.out.print(d.day+" ");
}
System.out.println();
}
}
}
728x90
'알고리즘 > 그 외' 카테고리의 다른 글
백준 13458번: 시험 감독 (0) | 2020.03.08 |
---|---|
SWEA - 4299. 태혁이의 사랑은 타이밍 (0) | 2020.03.08 |
SWEA - 5162. 두가지 빵의 딜레마 (0) | 2020.02.29 |
SWEA - 2072. 홀수만 더하기 (0) | 2020.02.27 |
SWEA - 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (0) | 2020.02.25 |