- 난이도 : 실버4
- 구현 언어 : 자바
- 소요시간 : 45분
- 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class Stack1 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(bf.readLine()); // 총 입력 횟수
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < cnt; i++) {
String input = bf.readLine();
if(input.equals("top")) {
if(stack.empty() == false) { //stack에 값이 있다면
System.out.println(stack.peek());
}else {
System.out.println(-1);
}
}else if(input.equals("size")) {
System.out.println(stack.size());
}else if(input.equals("empty")) {
int temp;
boolean bool = stack.empty();
if(bool == false) {
temp = 0;
}else{
temp = 1;
};
System.out.println(temp);
}else if(input.equals("pop")) {
if(stack.empty() == false) {
System.out.println(stack.pop());
}else {
System.out.println(-1);
}
}else {
//String val = input.split("h")[1].strip();
String val = input.split(" ")[1];
int intVal = Integer.parseInt(val);
stack.push(intVal);
}
}
}
}
자바 문법
- split("h") : h를 기준으로 잘라서 배열에 담는다.
- split("h")[1] : 배열의 1번자리
- strip() : 공백 제거
- split(" ") : 공백을 기준으로 잘라서 배열에 담는다.
split(String regex);
-> 구분자를 바탕으로 배열 형식으로 문자열을 잘라줍니다
split(String regex, int limit);
-> 구분자를 바탕으로 배열 형식으로 문자열을 자르지만 limit 수만큼 잘라줍니다
출처
'프로그래밍 > Algorithm' 카테고리의 다른 글
[백준 1874] 스택수열 - 자바 (0) | 2022.05.26 |
---|---|
[백준 11866] 요세푸스 문제 0 - 자바 (0) | 2022.05.23 |
[백준 11637] 인기 투표 - 자바 (0) | 2022.05.23 |
[백준 11721] 열 개씩 끊어 출력하기 - 자바 (0) | 2022.05.23 |
[백준 2523] 별 찍기 - 13 - 자바 (0) | 2022.05.23 |