본문 바로가기
Problem Solving/SWEA

[SWEA] 1221. [S/W 문제해결 기본] 5일차 - GNS

by 테리는당근을좋아해 2020. 2. 21.

문제

"ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN" 

위와 같은 0 ~ 9를 나타내는 단어로 이루어진 문자열이 주어질 때, 오름차순으로 정렬하여 출력

 

풀이방법

각 단어를 배열에 담고 인덱스에 매핑시켜 문제 해결

 

소스코드

package samsung;

import java.util.*;

public class s_1221 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int test = sc.nextInt();
		String[] num = {"ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"};
		
		for(int t = 1; t <= test; t++) {
			ArrayList <Integer> a = new ArrayList();
			String k = sc.next();
			int n = sc.nextInt();
			
			for(int i = 0; i < n; i++) {
				String tmp = sc.next();
				for(int j = 0; j < 10; j++) {
					if(num[j].equals(tmp)) {
						a.add(j);
					}
				}
			}
			
			Collections.sort(a);
			System.out.println("#" + t);
			for(int i = 0; i < n; i++) {
				int tmp = a.get(i);
				System.out.print(num[tmp] + " ");
			}
			System.out.println();
		}
	}
}

댓글