본문 바로가기
공부/알고리즘

[SWEA]1228_암호문1 JAVA 풀이

by happyeuni 2022. 2. 8.

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

 

SW Expert Academy

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

swexpertacademy.com

크게 어려운 건 없고

LinkedList를 이용하면 된다.

배열에 삽입, 삭제가 많은 경우 LinkedList를 사용해야한다는 점을 기억하자.

 

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

public class Solution_1228 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		for(int t=1;t<=10;t++) {
			LinkedList<Integer> list = new LinkedList<>();
			int N = Integer.parseInt(br.readLine()); //원본암호문 길이
			StringTokenizer st = new StringTokenizer(br.readLine());
			for(int i = 0;i<N;i++) {
				list.add(Integer.parseInt(st.nextToken()));
			}
			N = Integer.parseInt(br.readLine()); // 명령어 개수
			st = new StringTokenizer(br.readLine());
			for(int i = 0;i<N;i++) {
				if(st.nextToken().equals("I")) {
					
					int x = Integer.parseInt(st.nextToken()); //x위치 다음
					int y = Integer.parseInt(st.nextToken());
//					System.out.print("x:"+x+" y:"+y+"\n");
					for(int j = 0;j<y;j++) {
						list.add(x,Integer.parseInt(st.nextToken()));
						x++;
					}
				}
				
			}
			System.out.print("#"+t+" ");
			for(int i=0;i<10;i++) {
				System.out.print(list.get(i)+" ");
			}
			System.out.println();	
		}
		
	}

}

댓글