개발 공부 기록

[SWEA 1221번 / JAVA] GNS 본문

PS/Implement

[SWEA 1221번 / JAVA] GNS

나만없서고냥이 2023. 11. 14. 16:12

Question

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14jJh6ACYCFAYD

 

SW Expert Academy

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

swexpertacademy.com

 


💡 Solution

1. HashMap에 각 단어에 맞는 숫자를 저장합니다.

2. 입력받은 단어에 맞는 숫자를 정수형 배열에 따로 저장합니다.

3. 정수형 배열을 오름차순으로 정렬해줍니다.

4. 정수형 배열과 HashMap을 통해 배열에 들어있는 숫자에 알맞는 단어를 찾아 StringBuilder에 차례대로 저장해줍니다.

 

💻 Code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

public class SWEA1221 {
	static String[] arr;
	static int[] number;
	static Map<String, Integer> map = new HashMap<>();

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		StringBuilder sb;
		
		map.put("ZRO", 0);
		map.put("ONE", 1);
		map.put("TWO", 2);
		map.put("THR", 3);
		map.put("FOR", 4);
		map.put("FIV", 5);
		map.put("SIX", 6);
		map.put("SVN", 7);
		map.put("EGT", 8);
		map.put("NIN", 9);
		
		int T = Integer.parseInt(br.readLine());
		for(int tc = 1; tc <= T; tc++) {
			st = new StringTokenizer(br.readLine(), " ");
			String tcString = st.nextToken();
			int N = Integer.parseInt(st.nextToken());
			
			arr = new String[N];
			number = new int[N];
			sb = new StringBuilder();
			st = new StringTokenizer(br.readLine(), " ");
			
			for (int i = 0; i < N; i++) {
				arr[i] = st.nextToken();
				number[i] = map.getOrDefault(arr[i], 0);
			}
			
			Arrays.sort(number);
			for (int i = 0; i < number.length; i++) {
				for (Map.Entry<String, Integer> entry : map.entrySet()) {
					if (entry.getValue().equals(number[i])) {
						sb.append(entry.getKey()).append(" ");
					}
				}
			}
			System.out.printf("#%d\n", tc);
			System.out.println(sb.toString().trim());
		}
	}
}

'PS > Implement' 카테고리의 다른 글

[SWEA 1228번 / JAVA] 암호문2  (0) 2023.11.16
[SWEA 1228번 / JAVA] 암호문1  (0) 2023.11.16
[SWEA 1220번 / JAVA] Magnetic  (0) 2023.11.13
[SWEA 1217번 / JAVA] 거듭 제곱  (0) 2023.11.13
[SWEA 1215번, 1216 / JAVA] 회문 1, 회문 2  (1) 2023.11.13