6025 : 스택 두 개로 정렬
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 2
•통과: 1
•만든사람: suakii
문제 설명
오직 두 개의 스택(원본 스택, 보조 스택)만을 사용하고 임시 다른 리스트를 쓰지 않고 정수 수열을 정렬하십시오.
처음 원본 스택의 top이 첫 번째 수에 해당하며, 최종적으로 스택의 top부터 원소를 순서대로 꺼냈을 때 오름차순(가장 작은 수부터 차례로) 정렬된 상태가 되어야 합니다.
처음 원본 스택의 top이 첫 번째 수에 해당하며, 최종적으로 스택의 top부터 원소를 순서대로 꺼냈을 때 오름차순(가장 작은 수부터 차례로) 정렬된 상태가 되어야 합니다.
입력 설명
첫째 줄에 원소의 개수 $N$이 주어집니다. ($1 \le N \le 1,000$)
둘째 줄에 스택에 담길 $N$개의 정수가 공백으로 구분되어 주어집니다.
둘째 줄에 스택에 담길 $N$개의 정수가 공백으로 구분되어 주어집니다.
출력 설명
최종 정렬된 스택의 top에서부터 차례대로 꺼낸 원소 값을 공백으로 구분하여 한 줄에 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5
5 4 3 2 1
출력 예시
COPY
복사되었습니다!
복사되었습니다!
1 2 3 4 5
도움
입력 스택에서 원소를 pop하여 임시 변수에 두고, 보조 스택의 top이 임시 변수보다 작으면 보조 스택의 값을 다시 입력 스택으로 되돌려 보내는 방식을 반복합니다.