728x90
시간초과가 나서 string builder를 이용해 한번에 모아서 출력을 해주었다.
줄바꿈표시도 해주었다.
일반적인 스택문제라 알고리즘은 어렵지 않았다.
자바로 풀 때는 c로 풀 때 보다 시간초과가 많이 나는 것 같다.
import java.util.Scanner;
public class bj10828 {
static int[] stack;
static int top = -1;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
stack = new int[n];
StringBuilder sb = new StringBuilder();
for(int i = 0; i < n; i++){
String s = sc.next();
switch (s) {
case "push":
int num = sc.nextInt();
push(num);
break;
case "size":
sb.append(size());
sb.append("\n");
break;
case "pop":
sb.append(pop());
sb.append("\n");
break;
case "empty":
sb.append(empty());
sb.append("\n");
break;
case "top":
sb.append(top());
sb.append("\n");
break;
}
}
System.out.print(sb);
}
static int push(int num){
top++;
stack[top] = num;
return 0;
}
static int size(){
int size = top + 1;
return size;
}
static int pop(){
if(top > -1){
return stack[top--];
}
else{
return -1;
}
}
static int empty(){
if(top > -1){
return 0;
}
else{
return 1;
}
}
static int top(){
if(top > -1) {
return stack[top];
}
else{
return -1;
}
}
}
'programming > 알고리즘 풀이' 카테고리의 다른 글
[leetcode] 771. Jewels and Stones (0) | 2021.06.21 |
---|---|
[leetcode] 929. Unique Email Addresses (0) | 2021.06.21 |
[백준(Baekjoon)/JAVA] 2606. 바이러스 (0) | 2021.01.16 |
[백준(Baekjoon)/JAVA] 2630. 색종이 만들기 (0) | 2021.01.10 |
[백준(Baekjoon)/JAVA] 9012. 괄호 (0) | 2021.01.08 |
댓글