코딩테스트
[코드트리 조별과제] 정수 명령 처리 5
버피코
2024. 7. 30. 21:33
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
문제
풀이과정
- 각각의 명령어와 입력값이 한줄로 주어짐 -> 공백을 기준으로 나누기
- 각각의 명령어마다 다른 동작을 해야함 -> 명령어가 여러개이므로 if문 보다는 switch가 가독성과 유지보수 측면에서 더 나을 것이라 판단.
- parts[]는 크키가 1또는 2로 고정되어 있으므로 배열을 사용하고, 각각의 명령어에 따른 결과를 저장할 리스트는 동적으로 크기가 변해야하므로 ArrayList가 적절하다고 판단
나의 풀이
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
sc.nextLine();
List<Integer> list = new ArrayList<>();
for(int i = 0; i < count; i++){
String line = sc.nextLine();
String[] parts = line.split(" ");
switch (parts[0]){
case "push_back":
int target = Integer.parseInt(parts[1]);
list.add(target);
break;
case "pop_back":
list.remove(list.size()-1);
break;
case "get":
int index = Integer.parseInt(parts[1]);
System.out.println(list.get(index-1)); //k번째 숫자를 출력
break;
case "size":
System.out.println(list.size());
break;
}
}
}
}