본문 바로가기
Problem Solving/SWEA

[SWEA] 1228. 암호문1

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

문제

0 ~ 999999 사이의 수가 나열된 암호문이 있을 때, 명령에 따라 암호문을 수정하는 문제

 

명령문>
I(삽입) x, y, s : x는 삽입할 인덱스, y는 삽입할 숫자의 수, s는 삽입할 숫자들

 

풀이방법

데이터의 삽입이 많은 문제로 연결리스트 구조를 사용해 연산의 수를 줄인다

 

소스코드


import java.util.*;
import java.io.FileInputStream;

public static class Main
{
	public static void main(String args[]) throws Exception
	{
        Scanner sc = new Scanner(System.in);
		for(int t = 1; t <= 10; t++) {
			int n = sc.nextInt();
			LinkedList <Integer> l = new LinkedList<>();
			for(int i = 0; i < n; i++) {
				int tmp = sc.nextInt();
				l.add(tmp);
			}
			
			int c = sc.nextInt();
			for(int i = 0; i < c; i++) {
				String s = sc.next();
				int idx = sc.nextInt();
				int m = sc.nextInt();
				int[] a = new int[m];
				for(int j = 0; j < m; j++) {
					a[j] = sc.nextInt();
				}
				
				for(int j = m-1; j >= 0; j--) {
					l.add(idx, a[j]);
				}
			}
			System.out.print("#" + t + " ");
			for(int i = 0; i < 10; i++) {
				System.out.print(l.get(i) + " ");
			}
			System.out.println();
		}
	}
}

'Problem Solving > SWEA' 카테고리의 다른 글

[SWEA] 1288. 새로운 불면증 치료법  (0) 2020.02.05
[SWEA] 1284. 수도 요금 경쟁  (0) 2020.02.05
[SWEA] 1225. 암호생성기  (0) 2020.02.05
[SWEA] 1204. 최빈수 구하기  (0) 2020.02.05
[SWEA] 1961. 숫자 배열 회전  (0) 2020.01.29

댓글