새소식

Algorithm/파이썬 알고리즘 문제풀이 강의

[자료구조 활용(스택,큐,해쉬,힙)] 1. 가장 큰 수 (스택)

  • -

<힌트>

가장 큰 수가 되기 위해, 자기 앞(앞자리)에 자기보다 작은 숫자가 오면 제거한 후, 자기가 앞으로 전진(지울 수 있는 숫자만)

=> 이것을 쉽게 해주는 자료구조가 스택이다!

 

스택? 

LIFO : (Last In First Out )

 -> 나중에 들어온 것이 먼저 나온다.

list를 통해 스택 구현 쉽게 가능

  -> list.append / list.pop

 

하나씩 원소 넣을 때, 자기 바로 앞(즉, 스택의 가장 뒤(위)에 있는 것과 비교)

 -> 자기보다 작으면, stack에서 끄집어내고, 자기가 들어가는 식

 

더이상 꺼낼게 없는데, 아직 꺼내야되는 count가 남은 경우(->index번호가 뒤쪽부터 -1, -2, -3 이렇게 된다고 보면, stack[:-m]으로 하면 됨. m은 count하나씩 줄여서, 남은 삭제해야하는 갯수 의미. ), 가장 최상단에 있는거 뺀다 (내림차순으로 들어온거니, 맨 뒤에 있는거 빼야지 전체가 가장 최대가 됨)

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.