1847번 Kotlin
-
[백준 알고리즘/Kotlin] 1847번 스택 수열 (feat. Stack, 스택 관련 메서드)IT Study/백준 알고리즘 2024. 1. 4. 14:36
저는 처음에 이 문제를 접했을 때에는 풀이 방법을 생각하지 못했습니다. 그러나 아래와 같이 로직을 정리하고, 코드를 작성해보도록 하겠습니다. 1. 만들어야 하는 수열을 순서대로 읽으면서 해당 숫자가 스택의 top에 있지 않다면, 그 숫자가 나올 때까지 스택에 숫자를 push합니다. 이 때, push하는 숫자는 1부터 n까지 순서대로 push하고, 각 push 연산마다 + 를 출력합니다. 2. 만약 스택의 top에 있는 숫자가 현재 수열에서 읽은 숫자와 같다면, 스택에서 그 숫자를 pop하고 - 를 출력합니다. 3. 만약 스택의 top에 있는 숫자가 현재 수열에서 읽은 숫자보다 크다면, 주어진 수열을 만들 수 없는 경우이므로 NO를 출력하고 프로그램을 종료합니다. 스택의 top에 있는 수가 현재 수열에서 ..