#1318
Silver V

스택정렬

시간 제한
1s
메모리 제한
512MB
제출
154
정답
36
맞힌 사람
36
정답 비율
23.4%

문제

스택(Stack) 안에 NN개의 원소가 쌓여있다. 스택의 바닥(왼쪽)은 막혀있고 상단(오른쪽)은 뚫려있다. 따라서 다음과 같은 연산만 수행할 수 있다.

  • pop: 스택의 상단에 있는 원소 하나를 빼낸다. 빼낸 원소는 임시 공간에 보관한다. 스택이 비었을 때는 pop을 할 수 없다.

  • push: 임시 공간에 보관 중인 원소 중 하나를 선택하여 스택의 탑에 집어넣는다. 임시 공간에 원소가 없으면 push를 할 수 없다.

진원이는 이 스택 내부에 있는 원소들을 pop과 push만을 이용하여 비내림차순으로 정렬하고 싶다. 즉, 스택의 바닥 원소가 가장 작아야 하고, 상단으로 갈 수록 같거나 증가하며 상단 원소가 가장 커야 한다.

진원이는 바쁜 몸이기 때문에 스택에서 원소들을 최대한 덜 pop하고 싶어한다. pop 연산의 최소 횟수를 구하는 프로그램을 작성해 보자.

입력

첫째 줄에 스택 내의 원소의 개수 NN이 주어진다. (1≤N≤1,000,0001 \le N \le 1,000,000)

둘째 줄에 스택에 들어있는 NN개의 원소들이 스택의 바닥부터 상단까지 순서대로 공백으로 구분되어 주어진다. 각 원소들은 11 이상 10910^9 이하의 정수다.

출력

스택을 비내림차순으로 정렬하기 위해 필요한 pop 횟수의 최솟값을 출력한다.

예제 입력 1

5
1 2 4 3 5

예제 출력 1

3

예제 입력 2

4
4 3 2 1

예제 출력 2

4
문제를 만든 사람
박종현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출

제출 내역이 없습니다.

맞은 사람
#순위사용자언어시간메모리코드 길이
11153🥇
jwpassion1
C++68ms9304KB534B
7439🥈
Fine_Tuning
C++75ms9304KB481B
7383🥉
멋진승주
C++115ms9304KB777B
86014
박준혁
C++119ms9488KB706B
111325
이재준
C++126ms5336KB469B
78456
나여
PyPy162ms172120KB358B
75327
코요태
PyPy229ms173288KB162B
75908
Team_Choi
PyPy232ms172996KB264B
82939
니얼굴
PyPy232ms173284KB157B
774710
지구인
PyPy233ms172384KB188B
823811
이일우
PyPy235ms173100KB265B
748712
이관복명장냉면단골손님
Python241ms118932KB404B
774513
3학년인내가코딩을잘할수있을리없잖아무리무리!(※무리가_아니었다?!)
Java253ms160164KB919B
1113414
UJIN JUNG
Python277ms122060KB135B
822115
다이브 펭귄
Python303ms122148KB351B
814716
거북거북
Python316ms122724KB188B
712817
Flying_Spaghetti_Monster
C++327ms9416KB490B
811718
아보카도
Python333ms120992KB173B
817619
Undefined
Python333ms121040KB356B
907720
김성민
Python355ms124356KB366B
1 / 2
난이도 투표
Silver V3명 투표· 5개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
11153
맞았습니다
C++68ms9304KB534B2026. 10. 27. 06:21
11134
맞았습니다
Python277ms122060KB135B2026. 10. 24. 03:02
11132
맞았습니다
C++126ms5336KB469B2026. 10. 22. 16:09
11131
틀렸습니다
C++--468B2026. 10. 22. 16:08
11130
틀렸습니다
C++--376B2026. 10. 22. 15:44
9077
맞았습니다
Python355ms124356KB366B2026. 06. 22. 11:22
9076
틀렸습니다
Python--149B2026. 06. 22. 09:34
9075
틀렸습니다
Python--160B2026. 06. 22. 09:31
8601
맞았습니다
C++119ms9488KB706B2026. 05. 30. 11:24
8600
틀렸습니다
C++--685B2026. 05. 30. 11:13
8427
맞았습니다
Python446ms126096KB143B2026. 05. 26. 08:26
8383
맞았습니다
Python454ms125412KB225B2026. 05. 26. 05:57
8293
맞았습니다
PyPy232ms173284KB157B2026. 05. 25. 15:19
8291
런타임 에러
PyPy--155B2026. 05. 25. 15:18
8290
런타임 에러
PyPy--133B2026. 05. 25. 15:17
8289
런타임 에러
PyPy--129B2026. 05. 25. 15:17
8274
맞았습니다
Python475ms125312KB188B2026. 05. 25. 14:31
8258
맞았습니다
Python548ms122728KB423B2026. 05. 25. 13:20
8252
틀렸습니다
Python--343B2026. 05. 25. 12:56
8248
틀렸습니다
Python--226B2026. 05. 25. 12:45