백준 12789 파이썬

2024. 5. 3. 08:03코딩/백준 (단계별)

반응형

백준 12789 - 도키도키 간식드리미

문제

https://www.acmicpc.net/problem/12789

 

12789번: 도키도키 간식드리미

인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두

www.acmicpc.net

12789번

 

답안 코드 :

N = int(input())
line = list(map(int, input().split()))

i = 1  # 대기열에서 기대하는 번호표
stack = []  # 대기열에서 현재까지 올라간 번호표들을 저장하는 스택

for num in line:
    if num == i:  # 현재 기대하는 번호표가 나오면 승환이는 그대로 앞으로 나아감
        i += 1
    else:  # 현재 기대하는 번호표가 아니라면 대기열에 넣어줌
        stack.append(num)

    # 스택에서 현재 기대하는 번호표가 나올 때까지 계속해서 간식을 받음
    while stack and stack[-1] == i:
        stack.pop()
        i += 1

# 대기열을 모두 확인한 후에도 스택이 비어있다면 모두가 순서대로 간식을 받을 수 있음
if not stack:
    print("Nice")
else:
    print("Sad")


 

백준 / 문제 / 단계별로 풀어보기 / 16단계 스택, 큐, 덱

 

 

 

반응형

'코딩 > 백준 (단계별)' 카테고리의 다른 글

백준 2164 파이썬  (1) 2024.05.05
백준 18258 파이썬 sys.stdout.write('\n'.join(result))  (1) 2024.05.04
백준 4949 파이썬  (3) 2024.05.02
백준 9012 파이썬  (2) 2024.05.01
백준 10773 파이썬  (41) 2024.04.30