꾸물꾸물 졔의 개발공부
SWEA 1228 - 암호문1 ( JAVA ) 본문
알고리즘] - LinkedList 자료구조
LinkedList 로 간단히 구현가능한 문제 .
add 함수를 활용하여서 , 주어진 위치에 값을 add 하면 된다 ,( 9List 인터페이스에서 기존 값들은 알아서 뒤로 보냄 )
add( 인덱스, 넣을 값 ) 을 적절히 사용하면 되는데, 인덱스를 주의하자 !!
ex) I 1 3 123 456 789 이면, 리스트의 인덱스는 0부터 시작이므로, 인덱스 1에 넣으면 된다.
즉, 입력받은 x 값을 그대로 인덱스로 가져가면 됨 !!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb= new StringBuilder();
StringTokenizer st;
for(int test =1 ; test <=10; test ++ ) {
List <Integer> list= new LinkedList<>();
int N = Integer.parseInt(br.readLine()); // 원본 암호문의 길이
st= new StringTokenizer(br.readLine(), " ");
for(int i=0; i<N; i++)
list.add(Integer.parseInt(st.nextToken())); // 원본 암호문
int num = Integer.parseInt(br.readLine()); // 명령어의 갯수
st= new StringTokenizer(br.readLine(), " ");
for(int i=0; i<num; i++) {
String insert= st.nextToken(); // ' I '
int x = Integer.parseInt(st.nextToken()); // 어디에 넣을건지 ?
int y = Integer.parseInt(st.nextToken());
for(int j=0 ; j<y; j++) {
list.add(x, Integer.parseInt(st.nextToken()));
x++;
}
}// end of for
sb.append("#").append(test).append(" ");
for(int i=0; i<10; i++)
sb.append(list.get(i)).append(" ");
sb.append("\n");
} // end of 10 test case
System.out.println(sb);
}
}
|
cs |
-> 10번의 테스트케이스를 돌며, 입력받은 x 인덱스부터 총 y개의 암호문을 list에 넣는다 .
인덱스는 y개 만큼 증가하면서 추가해야 하므로 for 문 내부에서 x++ ;
'알고리즘 > SWEA' 카테고리의 다른 글
SWEA 1859 - 백만 장자 프로젝트 ( JAVA ) (0) | 2023.02.07 |
---|---|
SWEA 4615 - 재미있는 오셀로 게임 ( JAVA ) (0) | 2023.01.27 |
SWEA 5653 - 줄기세포배양 ( JAVA ) (0) | 2022.09.09 |
SWEA 1218 - 괄호짝짓기 (JAVA) (0) | 2022.02.09 |
SWEA 1289 - 원재의 메모리 복구하기 ( JAVA ) (0) | 2022.02.08 |