[백준] 11652번: 카드

jooo·2023년 1월 11일
0

백준

목록 보기
14/35
post-thumbnail

💻 문제 - S4


👉 제출 코드

import sys
N = int(sys.stdin.readline())
arr = []
for _ in range(N):
    command = sys.stdin.readline().split()
    if command[0] == 'push':
        arr.append(command[1])
    elif command[0] == 'pop':
        if len(arr) == 0:
            print(-1)
        else:
            print(arr.pop())
    elif command[0] == 'size':
        print(len(arr))
    elif command[0] == 'empty':
        if len(arr) == 0:
            print(1)
        else:
            print(0)
    elif command[0] == 'top':
        if len(arr) == 0:
            print(-1)
        else:
            print(arr[-1])        
  • input() 대신 sys를 사용하여 시간초과 해결
  • split을 사용하여 인덱스로 값에 접근한다
  • remove 대신 pop을 사용한다
    • arr.remove(arr[-1])로 하면 틀렸습니다가 뜬다
    • arr에 똑같은 숫자가 여러 개 있을 때 맨 뒤의 숫자만이 아닌 다른 숫자도 지우기 때문이다
    • pop을 사용하여 맨 뒤의 숫자만을 제거한다
profile
조금씩, 꾸준히, 자주

0개의 댓글