knight7024   6년 전

스택의 성질을 이용했습니다.

큰 수를 찾으면 그 수까지 +를 넣고 스택 배열에 숫자를 넣습니다.

작은 수를 찾으면 스택 배열에서 pop할 수와 같은 수인지 비교합니다. 같으면 -를 넣고 아니면 NO 플래그를 세웁니다.

만약 가장 큰 수를 입력받으면 flag를 세우고 그 때부터는 스택에 남아있는 pop할 수와 비교하는 것만 반복합니다.


질문 게시판에 있는 예제들은 모두 확인해봤고 스스로 NO 나오는 것도 만들어서 해봤는데 어디가 문제인지 잘 모르겠습니다.

어떻게 넣자마자 틀리는지 ㅠㅠ

djm03178   6년 전

5

4

3

2

1

5

와 같은 케이스에서 stackIndex - 1이 -1인 상태로 stack 배열에 접근한 것을 확인했고, 그 외에도 수를 조금만 키워서 아무 순서로나 입력해 보면 음수로 향하는 일이 아주 많이 보입니다.

knight7024   6년 전

자답합니다. 문제를 명확히 이해하지 못해서 알고리즘 자체에 미스가 있었습니다...

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