본문 바로가기
코딩 테스트/do it! 알고리즘 코딩테스트

011 스택 수열

by ornni 2024. 4. 18.
728x90
반응형

첫번째 코드

 

일단...문제 이해에서 고생을 했다...

해당 숫자까지 삽입하고 삭제하는 과정이 가능한지, 과정을 +와 -로 표현하는건데

숫자와 수열이랑 관계가 있나로 쓸데없는 고민을 했다...

이럴떄는 밥먹고 리프레쉬해서 산뜻한 마음으로 다시 읽어봐야지..하고 이해해버렸다 ㅎㅎ

 

근데 문제느 스택을 처음 접해서 고민을 많이 했다...

스택으로 더하고 빼는 것 까지는 이해를 했는데....라고 까지 생각했는데

그냥 단순하게 리스트에서 더하고 뺴는 것이라고 생각하면 된다!

단, 맨 끝에 더해지고 맨 끝에 제외된다 라는 생각을 가지면 된다!

 

책을 참고해서 코딩을 했는데, 다음에 풀 때는 조건문 조금씩 생각하면 금방 풀 수 있을 것 같다!

 

import sys
input = sys.stdin.readline

n = int(input())
seq = []

for i in range(n):
    seq.append(int(input()))
    
start = 1
stack = []
result = True
answer = ''

for i in range(n):
    if seq[i] >= start:
        while seq[i] >= start:
            stack.append(start)
            start += 1
            answer += '+\n'
        stack.pop()
        answer += '-\n'
    else:
        num = stack.pop()
        if num > seq[i]:
            print('NO')
            result = False
            break
        else:
            answer += '-\n'

if result:
    print(answer)

 

통과!

다음에도 밥먹고 산뜻하게 문제 이해해서 조건문만 다시 생각하도 풀어보도록 하자!


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Silver/1874.%E2%80%85%EC%8A%A4%ED%83%9D%E2%80%85%EC%88%98%EC%97%B4

 

programmers/백준/Silver/1874. 스택 수열 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > do it! 알고리즘 코딩테스트' 카테고리의 다른 글

014 절댓값 힙  (0) 2024.04.22
013 카드2  (0) 2024.04.22
012 오큰수  (0) 2024.04.18
010 최솟값 찾기  (0) 2024.04.15
009 DNA 비밀번호  (2) 2024.04.15