#1318
스택정렬
시간 제한
1s
메모리 제한
512MB
제출
146
정답
32
맞힌 사람
32
정답 비율
21.9%
문제
스택(Stack) 안에 개의 원소가 쌓여있다. 스택의 바닥(왼쪽)은 막혀있고 상단(오른쪽)은 뚫려있다. 따라서 다음과 같은 연산만 수행할 수 있다.
-
pop: 스택의 상단에 있는 원소 하나를 빼낸다. 빼낸 원소는 임시 공간에 보관한다. 스택이 비었을 때는pop을 할 수 없다. -
push: 임시 공간에 보관 중인 원소 중 하나를 선택하여 스택의 탑에 집어넣는다. 임시 공간에 원소가 없으면push를 할 수 없다.
진원이는 이 스택 내부에 있는 원소들을 pop과 push만을 이용하여 비내림차순으로 정렬하고 싶다. 즉, 스택의 바닥 원소가 가장 작아야 하고, 상단으로 갈 수록 같거나 증가하며 상단 원소가 가장 커야 한다.
진원이는 바쁜 몸이기 때문에 스택에서 원소들을 최대한 덜 pop하고 싶어한다. pop 연산의 최소 횟수를 구하는 프로그램을 작성해 보자.
입력
첫째 줄에 스택 내의 원소의 개수 이 주어진다. ()
둘째 줄에 스택에 들어있는 개의 원소들이 스택의 바닥부터 상단까지 순서대로 공백으로 구분되어 주어진다. 각 원소들은 이상 이하의 정수다.
출력
스택을 비내림차순으로 정렬하기 위해 필요한 pop 횟수의 최솟값을 출력한다.
예제 입력 1
5
1 2 4 3 5
예제 출력 1
3
예제 입력 2
4
4 3 2 1
예제 출력 2
4
- 문제를 만든 사람
- 박종현
- 알고리즘 분류
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 7383 | 🥇 | 멋진승주 | C++ | 68ms | 9088KB | 777B | |
| 7439 | 🥈 | Fine_Tuning | C++ | 70ms | 8704KB | 481B | |
| 8601 | 🥉 | 박준혁 | C++ | 71ms | 9044KB | 706B | |
| 7845 | 4 | 나여 | PyPy | 144ms | 173300KB | 358B | |
| 7128 | 5 | Flying_Spaghetti_Monster | C++ | 157ms | 9040KB | 490B | |
| 7487 | 6 | 이관복명장냉면단골손님 | Python | 160ms | 121408KB | 404B | |
| 7651 | 7 | 아르고스화이팅 | Python | 182ms | 121568KB | 713B | |
| 7745 | 8 | 3학년인내가코딩을잘할수있을리없잖아무리무리!(※무리가_아니었다?!) | Java | 201ms | 101176KB | 919B | |
| 7747 | 9 | 지구인 | PyPy | 208ms | 173360KB | 188B | |
| 8293 | 10 | 니얼굴 | PyPy | 208ms | 187100KB | 157B | |
| 7532 | 11 | 코요태 | PyPy | 209ms | 173796KB | 162B | |
| 8221 | 12 | 다이브 펭귄 | Python | 221ms | 120332KB | 351B | |
| 8238 | 13 | 이일우 | PyPy | 226ms | 173088KB | 265B | |
| 7590 | 14 | Team_Choi | PyPy | 235ms | 173376KB | 264B | |
| 8003 | 15 | 레몬 | Python | 245ms | 122760KB | 256B | |
| 8010 | 16 | 박찬이 | Python | 248ms | 119512KB | 188B | |
| 7540 | 17 | J | Python | 250ms | 120204KB | 241B | |
| 7931 | 18 | 세얼간이 | Python | 252ms | 119624KB | 191B | |
| 8117 | 19 | 아보카도 | Python | 262ms | 123996KB | 173B | |
| 8147 | 20 | 거북거북 | Python | 278ms | 123180KB | 188B |
1 / 2
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
| # | 사용자 | 문제 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 | |
|---|---|---|---|---|---|---|---|---|---|
| 8601 | 맞았습니다 | C++ | 71ms | 9044KB | 706B | 2026. 05. 30. 11:24 | |||
| 8600 | 틀렸습니다 | C++ | - | - | 685B | 2026. 05. 30. 11:13 | |||
| 8427 | 맞았습니다 | Python | 288ms | 124112KB | 143B | 2026. 05. 26. 08:26 | |||
| 8383 | 맞았습니다 | Python | 301ms | 122660KB | 225B | 2026. 05. 26. 05:57 | |||
| 8293 | 맞았습니다 | PyPy | 208ms | 187100KB | 157B | 2026. 05. 25. 15:19 | |||
| 8291 | 런타임 에러 | PyPy | - | - | 155B | 2026. 05. 25. 15:18 | |||
| 8290 | 런타임 에러 | PyPy | - | - | 133B | 2026. 05. 25. 15:17 | |||
| 8289 | 런타임 에러 | PyPy | - | - | 129B | 2026. 05. 25. 15:17 | |||
| 8274 | 맞았습니다 | Python | 303ms | 119688KB | 188B | 2026. 05. 25. 14:31 | |||
| 8258 | 맞았습니다 | Python | 306ms | 121716KB | 423B | 2026. 05. 25. 13:20 | |||
| 8252 | 틀렸습니다 | Python | - | - | 343B | 2026. 05. 25. 12:56 | |||
| 8248 | 틀렸습니다 | Python | - | - | 226B | 2026. 05. 25. 12:45 | |||
| 8238 | 맞았습니다 | PyPy | 226ms | 173088KB | 265B | 2026. 05. 25. 11:14 | |||
| 8221 | 맞았습니다 | Python | 221ms | 120332KB | 351B | 2026. 05. 25. 09:55 | |||
| 8219 | 틀렸습니다 | Python | - | - | 383B | 2026. 05. 25. 09:53 |