[BaekJoon] 1874 스택수열 (java)
🔗 문제 링크
https://www.acmicpc.net/problem/1874
👨🏻💻 내가 작성한 코드
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i=0;i<n;i++) {
arr[i] = sc.nextInt();
}
System.out.println(solution(n, arr));
}
public static String solution(int n, int[] arr) {
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
int count = 0;
for (int i=0; i<n; i++) {
// peek가 다음 출력 수 일때
if (arr[i] >= count) {
while (count < arr[i]) {
stack.push(count+1);
sb.append("+\n");
count++;
}
stack.pop();
sb.append("-\n");
}
else {
if(arr[i] == stack.peek()) {
stack.pop();
sb.append("-\n");
}
else {
return "NO";
}
}
}
return sb.toString();
}
}
Author And Source
이 문제에 관하여([BaekJoon] 1874 스택수열 (java)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seongwon97/BaekJoon-1874-스택수열-java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)