본문 바로가기

Algorithm/SWEA

[SWEA] 암호문1 Java

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14w-rKAHACFAYD& 

 

SW Expert Academy

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

swexpertacademy.com

 

 

1. 해결방법

ArrayList를 이용한 간단한 문제이다.

다만 아직 자바에 익숙하지 않아서, 입력문 부분에서 애를 먹었지만 입력을 받기만 한다면 쉽게 해결된다.

ArrayList의 add()메서드를 이용하면 insert 즉, 해당 인덱스 위치에 값을 집어넣을 수 있다.
이를 이용하면 해결이 가능하다.

 

 

2. 정답코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;


public class SW_1228 {
	static int N, M;
	static int[] numbers;
	static int[] target;
	static int T = 10;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		for(int test_case = 1; test_case <= T; test_case++) {
			ArrayList<Integer> arrayList = new ArrayList<>();
			N = Integer.parseInt(br.readLine());
			numbers = new int[N];
			
			StringTokenizer st = new StringTokenizer(br.readLine());
			for (int i = 0; i < N; i++) {
				arrayList.add(Integer.parseInt(st.nextToken()));
			}
			
			M = Integer.parseInt(br.readLine());
			st = new StringTokenizer(br.readLine());
			int cnt = 0;
			while (true) {
				if (cnt == M) break;
				
				String c = st.nextToken();
				int p = Integer.parseInt(st.nextToken());
				int n = Integer.parseInt(st.nextToken());
				target = new int[M];
				for (int i = 0; i < n; i++) {
					arrayList.add(p, Integer.parseInt(st.nextToken()));
					p++;
				}
				cnt++;
			}
			System.out.print("#" + test_case + " ");
			for (int i = 0; i < 10; i ++) {
				System.out.print(arrayList.get(i) + " ");
			}
			System.out.println();
		}	
	}
}

'Algorithm > SWEA' 카테고리의 다른 글

[SWEA] D4. Ladder1 Python, Java  (0) 2023.02.08
[SWEA] D3. Sum (JAVA)  (0) 2023.01.17
[SWEA] D5. 최적 경로  (0) 2023.01.16
[SWEA] D4. 미로1  (0) 2023.01.10
[SWEA] D4. 보급로  (0) 2023.01.09