soon0799   2년 전

조금 지저분 하게 하긴했는데 저는 union 배열과 stack을 이용했습니다.

union 같은 경우에는 각 바로 앞에 어떤수가 왔었는지 그 수에대한 index 넘버를 저장하였고

ex)arr = {20,30,10, 15, 20,50, 30, 35, 60} 인 경우 union={-1,0,-1,2,3,4,4,6,7,-1} 같은 방식으로 들어갑니다.

그래서 최대 값이 나오는 index를 찾고 거기서 역방향으로 추적해서 stack에 넣어 후입 선출을 이용해 출력했습니다.

갯수같은 경우에는 stack에 추가될때마다 ++해줬구요 근데 뭐가 틀린지를 잘 모르겠습니다

문제를 잘못이해했네요 다 더했을때 가장 큰 값이 나오는걸로 했는데 그냥 길이가 가장 길게 만드는 거네요

댓글을 작성하려면 로그인해야 합니다.