dawn421   2년 전

안녕하세요 스택 구현 문제인데 예제는 다 돌아가는데 어디서 틀렸는지 잘 모르겠네요 혹시 참고할 반례가 있을까요?

항상 감사드립니다.

dlwlsdn3642   2년 전

두 부분에 오류가 있습니다.

우선 11행에 remove()를 사용하셨는데 이러면 중복된 값이 stack에 들어있을 경우 문제가 발생합니다.

왜냐하면 remove(x)는 0번부터 탐색하면서 만나는 첫번째 x를 제거하기 때문입니다.

반례입니다.

5
push 2
push 1
push 2
pop
pop

이러면 출력은

2
2

이렇게 됩니다.


그리고 input()으로 받으면 안됩니다.

왜냐하면 최대 10,000번 입력을 받아서 시간 초과가 뜹니다.

sys.stdin.readline().split()으로 받아보세요.

예시입니다.

mingling = sys.stdin.readline().split()

그리고 입력을 받으면 어차피 문자열로 받게 되기 때문에 map(str, ...)를 할 필요 없습니다.

그리고 list()도 사용할 필요가 없어요.

split()는 어차피 list를 return 합니다.

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