백준 문제풀이(파이썬)/스택

자신보다 오른쪽에 있는 수 중에서 자신보다 크고 가장 자신과 가까이 있는 수를 찾는 문제이다. 2중 for문을 써서 문제를 풀 수는 있지만, 범위가 1,000,000까지이기 때문에, 시간초과가 뜰 것이다. 자신의 오른쪽을 탐색할 때, 자신보다 큰 경우가 나오면 반복을 멈추고 그 값을 넣어주면 되고, 자신보다 작은 수가 나오면, 그 값들을 스택에 저장한 뒤에 큰 수가 나오면 pop해서 큰 수를 ans에 저장하면 되겠다. 하지만 스택에 값을 push하기엔 그 값들에 따른 ans값에 저장을 해줄 수가 없기 때문에, 스택에 자신보다 작은 수가 아닌 그 수의 인덱스를 push하고 인덱스를 pop해주면 된다. ##함수 선언 부분 ##변수 선언 부분 A = [] stack = [] ans = [] top = -1 #..
aodtns
'백준 문제풀이(파이썬)/스택' 카테고리의 글 목록