나는 우리가 이것을 아직 가지고 있지 않다는 것을 믿을 수 없다. 그것은 프로그래밍에서 가장 중요한 데이터 구조 중 하나이지만 여전히 코드 골프 에서 구현할 수있을 정도로 간단하다 .
도전
당신의 임무는 숫자를 밀고 터지는 것을 허용하는 스택을 구현하고 구현을 테스트하고 I / O를 단순하게 유지하는 것입니다. 다음 설정을 사용합니다.
- 입력은 음이 아닌 정수 목록입니다.
모든 양의 정수 은 를 나타내고 은 나타냅니다 . 맨 위 요소는 버립니다.푸시 ( n ) 0 팝 ()
- 결과물은 결과 스택이됩니다
예
예를 들어 이 주어진 경우 :
출력은 다음과 같습니다.
규칙
- 입력은 기본 I / O 형식의 음이 아닌 정수 목록입니다.
- 음의 정수를 사용하여 정수 스트림의 끝을 나타낼 수 있습니다.
- 결과 스택의 목록 / 매트릭스 / ..가 출력됩니다.
- 상단 요소가 (시작 또는 끝에서) 어디에 있는지 선택하십시오. 출력은 일관성이 있어야합니다.
- 출력은 유연합니다 (예 : 줄 바꿈으로 구분 된 정수는 괜찮을 것입니다), 중요한 것은 순서입니다
- 스택의 맨 아래를 나타 내기 위해 음의 정수를 사용할 수 있습니다
- 스택이 비어있을 때 이 절대로 없을 것이라고 보장합니다
예
[] -> []
[1] -> [1]
[1,0,2] -> [2]
[4,0,1,12] -> [12,1]
[8,3,1,2,3] -> [3,2,1,3,8]
[1,3,7,0,0,0] -> []
[13,0,13,10,1,0,1005,5,0,0,0] -> [13]
[12,3,0,101,11,1,0,0,14,0,28] -> [28,101,12]