본문 바로가기

Algorithms/SW Expert Academy

[Java] SW Expert Academy 1221번 문제: [S/W 문제해결 응용] 5일차 - GNS (Brute Forse)

728x90

--- 문제 ---

 

숫자 체계가 우리와 다른 어느 행성이 있다. 아래는 이 행성에서 사용하는 0 ~ 9의 값을 순서대로 나타낸 것이다.

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

0 ~ 9 의 값을 나타내는 단어가 섞여 있는 문자열을 받아 작은 수부터 차례로 정렬하여 출력하는 프로그램을 작성하라.

예를 들어 입력 문자열이 "TWO NIN TWO TWO FIV FOR" 일 경우 정렬한 문자열은 "TWO TWO TWO FOR FIV NIN" 이 된다.

 

 

--- 코드 ---

 

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class Sw1221 {

	public static void main(String[] args) throws FileNotFoundException {
		// TODO Auto-generated method stub
		System.setIn(new FileInputStream("./src/1221.txt"));

		Scanner sc = new Scanner(System.in);
		
		int T=sc.nextInt();
		
		String[] characters = {"ZRO","ONE","TWO","THR","FOR","FIV","SIX","SVN","EGT","NIN"};
		for(int test_case = 1; test_case <= T; test_case++) {
			
			String case_str = sc.next();
			int num = sc.nextInt();
			int[] cnt = new int[10];
			if(test_case==1)
				System.out.println(case_str);
			else
				System.out.printf("%n%s%n",case_str);
			for(int i=0; i<num; ++i) {
				
				String tmp = sc.next();
				switch(tmp) {
				case "ZRO":
					//cnt[0]+=1;
					System.out.printf("ZRO ");
					break;
				case "ONE":
					cnt[1]+=1;
					break;
				case "TWO":
					cnt[2]+=1;
					break;
				case "THR":
					cnt[3]+=1;
					break;
				case "FOR":
					cnt[4]+=1;
					break;
				case "FIV":
					cnt[5]+=1;
					break;
				case "SIX":
					cnt[6]+=1;
					break;
				case "SVN":
					cnt[7]+=1;
					break;
				case "EGT":
					cnt[8]+=1;
					break;
				case "NIN":
					cnt[9]+=1;
				
				}
				
			}
			for( int i=0; i<10; ++i) {
				for(int j=0; j<cnt[i]; ++j) {
					
					System.out.print(characters[i]+" ");
				}
			}
			
		}
	}

}

--- 출처 ---

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14jJh6ACYCFAYD&categoryId=AV14jJh6ACYCFAYD&categoryType=CODE&problemTitle=1221&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

반응형