[SWEA] #1228 암호문1
Link
Code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.StringTokenizer;
class Solution {
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int testCase = 1; testCase <= 10; testCase++) {
StringTokenizer st = new StringTokenizer(br.readLine(), "");
int N = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine(), " ");
LinkedList<String> list = new LinkedList<>();
for (int i = 0; i < N; i++) {
list.add(st.nextToken());
}
st = new StringTokenizer(br.readLine(), " ");
st.nextToken();
st = new StringTokenizer(br.readLine(), " ");
while (st.hasMoreTokens()) {
char oper = st.nextToken().charAt(0);
if (oper == 'I') {
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
for (int i = 0; i < y; i++) {
list.add(x + i, st.nextToken());
}
}
else if (oper == 'D') {
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
for (int i = 0; i < y; i++) {
list.remove(x);
}
}
else if (oper == 'A') {
int y = Integer.parseInt(st.nextToken());
for (int i = 0; i < y; i++) {
list.addLast(st.nextToken());
}
}
}
System.out.printf("#%d ", testCase);
for (int i = 0; i < 10; i++) {
System.out.print(list.get(i) + " ");
}
System.out.println();
}
}
}
Solution
LinkedList를 사용하여 풀었고 기본적으로 암호문1~3이 모두 같은문제에 기능만 추가하였기에 현재 문제에서 미리 기능들을 구현하였다.
삽입일때는 add메소드를 이용하였고 같은 위치에 넣으면 안되기때문에 +i를 붙여 문제가 원하는 위치에 삽입하였다.
삭제일때는 remove메소드를 사용하였고
추가일때는 addLast메소드를 이용하여 마지막 위치에 데이터를 추가하였다.
Author And Source
이 문제에 관하여([SWEA] #1228 암호문1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kwonsc/SWEA-1228-암호문1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)