SSONG Cloud
[SWEA] 1221 GNS 본문
반응형
문제 출처:swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14jJh6ACYCFAYD
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
: "ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN" 로 구성된 문자열이 주어지고 이를 그 의미가 작은 순서대로 정렬하여 출력하여야 한다.(ex: ZRO = 0)
: alphabet 클래스를 만들어서 각각의 문자열마다 우선순위 변수를 지정하여 생성자를 통해 그 우선순위가 지정될 수 있도록 하고 Comparable 인터페이스를 구현했다. ComparaTo() 메소드를 오버라이딩해서 Sort 시킬 경우 우선순위가 낮은 순서대로 정렬될 수 있도록 했다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Solution {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static StringBuilder sb = new StringBuilder();
static StringTokenizer st;
public static class alphabet implements Comparable<alphabet>{
String type;
int priority;
public alphabet(String type) {
super();
this.type = type;
switch(type) {
case"ZRO": this.priority = 1; break;
case"ONE": this.priority = 2; break;
case"TWO": this.priority = 3; break;
case"THR": this.priority = 4; break;
case"FOR": this.priority = 5; break;
case"FIV": this.priority = 6; break;
case"SIX": this.priority = 7; break;
case"SVN": this.priority = 8; break;
case"EGT": this.priority = 9; break;
case"NIN": this.priority = 10;break;
}
}
@Override
public int compareTo(alphabet o) {
// TODO Auto-generated method stub
return this.priority - o.priority;
}
}
public static void main(String[] args) throws IOException {
int T = Integer.parseInt(br.readLine());
for(int tc = 1; tc <= T; tc++) {
st = new StringTokenizer(br.readLine());
st.nextToken();
int N = Integer.parseInt(st.nextToken());
String[] str = br.readLine().split(" ");
alphabet[] list = new alphabet[N];
for(int i = 0; i < N; i++)
list[i] = new alphabet(str[i]);
Arrays.sort(list);
sb.append("#" + tc + "\n");
for(alphabet a : list)
sb.append(a.type + " ");
sb.append("\n");
}
System.out.println(sb);
}
}
반응형
'Algorithm > SW Expert Academy' 카테고리의 다른 글
[SWEA] 7021 준홍이의 카드놀이 (0) | 2021.02.18 |
---|---|
[SWEA] 7985 Rooted Binary Tree 재구성 (0) | 2021.02.17 |
[SWEA] 10032 과자 분배 (0) | 2021.02.17 |
[SWEA] 1230 암호문3 (0) | 2021.02.17 |
[SWEA] 1215 회문1 (0) | 2021.02.14 |
Comments