2493번 - 탑
나름 스택으로 한다고 했는데, 잘 안되네요.. 시간초과가 뜹니다.
O(n)으로 할 수 있는 힌트를 부탁합니다.
B 배열에 인덱스 정보를 저장하는 용도로 사용하신거 같은디.. 구조체 배열을 이용하여 모든 정보를 한번에 저장하고
현재 데이터가 스택에 있는 데이터보다 큰 동안 Pop 후
Top 이 비어있다면 0을 출력
아니라면 Top 의 index 값을 출력하도록 하시면 아마 TLE 는 없을꺼에요
이렇게 해봤는데 왜 m이 안받아질까요?? ㅠㅠ
입력이 안받아지는 이유는 중간에
while (m>a.top()){ a.pop(); index.pop(); }
이 영역에서 만약 top 이 널이면 비교가 불가능해서 에러가 발생해서 그렇구요.. scanf 에 존재하는 \n 와 공백은 문제가 있는건지는 모르겟네요
비쥬얼에서 디버깅했을 때는 입력시 문제가 좀 있긴하던데.. 일단 젤 중요한 부분은 저 와일문에 상위에 조건이 하나 더필요하겟네요
댓글을 작성하려면 로그인해야 합니다.
chanugod 7년 전
나름 스택으로 한다고 했는데, 잘 안되네요.. 시간초과가 뜹니다.
O(n)으로 할 수 있는 힌트를 부탁합니다.