본문 바로가기

Algorithm judge/Backjoon

[백준 1874번] 스택 수열 ( JAVA )


문제

1부터 n까지의 수가 존재할때, 입력된 수열을 만들기 위한 push와 pop을 순서대로 출력하는 것

 

 

 

즉, 1부터 n까지 숫자가 증가하다가 수열의 수와 일치하는 수가 발생할 경우 해당 수까지 push한 후 pop을 해야함. ( 글로 설명하려니 어렵네 ㅠ ) 아무튼 그럼..

 


문제 접근

  • 1부터 n까지 증가하는 과정에서 수열과 일치하는 수가 발생할 경우, 해당 수까지만 Push를 한 뒤,
  • 입력 수와 pop한 값이 동일하다면 " + " 출력
  • 입력 수와 pop한 값이 동일하지 않다면 "NO" 출력 후 return하여 메서드 종료
  • stack에 아무런 데이터가 존재하지 않다면 함수 종료

 

코드

 

 

결과

 

지금까지 코드 길이가 길어도 시간은 짧게 나오는 편이었는데 이번에는 코드도 길도 시간도 길게 나왔다 😂  타인 풀이를 좀 참고해서 코드 개선점을 찾아봐야겠다 또로록..