Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- c언어 제어문
- 최단거리
- 자료구조
- python기본
- 4장
- Workbench
- 코테
- c언어 기본
- Git
- c언어
- git오류
- 인스타
- 도커
- 그리디
- 인텔리제이
- 파이썬 알고리즘 인터뷰
- 데베시 1주차
- 운체 1주차
- 1주차(1)
- 백준
- 스택
- python자료형
- 5장
- DP
- python기초
- git 오류
- 참고X
- git기초
- #코린이 #코딩 #할 수 있다
- 코딩테스트
Archives
- Today
- Total
하루살이 개발자
[BaekJoon 10828번] 스택 문제(Python) 본문
코딩테스트 연습 1일차
스택 문제입니다.
문제링크: www.acmicpc.net/problem/10828
Solution
import sys
n = int(sys.stdin.readline())
stack = []
for _ in range(n) :
input = sys.stdin.readline().split() #input()으로 입력받으면 시간초과 발생
order = input[0] #명령어 받기
#order의 값에 따라 역할을 수행하기
if order =="push" :
value = input[1]
stack.append(value)
elif order=="pop" :
if len(stack)==0 :
print(-1)
else :
print(stack.pop())
elif order=="size" :
print(len(stack))
elif order=="empty" :
if len(stack)==0 :
print(1)
else :
print(0)
elif order=="top" :
if len(stack)==0 :
print(-1)
else :
print(stack[-1])
정리
1. input()대신 sys.stdin.readline()을 사용하는 이유
한 두줄 입력받는 문제들과 다르게, 반복문으로 여러줄을 입력 받아야 할 때는 input()으로 입력 받는다면 시간초과가 발생할 수 있습니다.
[sys.stdin.readline() 사용법]
1) 한 개의 정수를 입력받을 때
import sys
x = int(sys.stdin.readline())
2) 정해진 개수의 정수를 한줄에 입력받을 때
import sys
a,b,c = map(int,sys.stdin.readline().split())
3) 임의의 개수의 정수를 한줄에 입력받아 리스트에 저장할 때
import sys
data = list(map(int,sys.stdin.readline().split()))
4) 임의의 개수의 정수를 n줄 입력받아 2차원 리스트에 저장할 때
import sys
data = []
n = int(sys.stdin.readline())
for i in range(n):
data.append(list(map(int,sys.stdin.readline().split())))
5) 문자열 n줄을 입력받아 리스트에 저장할 때
import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]
'코딩테스트' 카테고리의 다른 글
[BaekJoon 20365번] 블로그2 문제(Python) (0) | 2022.01.05 |
---|---|
[BaekJoon 20115번] 에너지 드링크 문제(Python) (0) | 2022.01.05 |
[BaekJoon 13305번] 주유소 문제(Python) (0) | 2022.01.05 |
[BaekJoon 9012번] 괄호 문제(Python) (0) | 2022.01.04 |
[BaekJoon 1158번] 요세푸스 문제(Python) (0) | 2022.01.04 |