백준 1874번 스택수열
본문 바로가기
코딩공부/코딩테스트 공부 일기장

백준 1874번 스택수열

by 지누이야기 2024. 4. 2.
반응형

입력:

 

첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다. 둘째 줄부터 n개의 줄에는 수열을 이루는 1 이상 n이하의 정수가 하나씩 순서대로 주어진다. 물론 같은 정수가 두 번 나오는 일은 없다.

 

출력:

 

입력된 수열을 만들기 위해 필요한 연산을 한 줄에 한 개씩 출력한다. push연산은 +로, pop 연산은 -로 표현하도록 한다. 불가능한 경우 NO를 출력한다.

 

과정

 

첫번째: 몇 개를 받을 건지 먼저 정해야 됩니다.

 

둘째, 벡터를 두 개를 정합니다. 한 개는 int형, 하나는 char형으로 정합니다.

 

셋째, int형 벡터에 숫자를 받습니다. (첫 번째 단계에서 받을 숫자만큼)

 

넷째, Stack의 Top부분을 저장할 스택 또는 배열을 만듭니다.

 

다섯째, 카운팅 할 num을 만듭니다.

 

여섯째,  num이 2인 상황에서 받은 수가 8이라면 num을 8까지 증가시킵니다. 이때 증가시킬 때마다 +을 저장하고 같아지는 순간 char형 벡터에 -을 저장한 다음  stack벡터에서 pop을 시킵니다.

 

일곱 번째, 만약 num보다 작은 수를 받았다면 num의 수를 저장시키고 stack벡터에서 pop을 시킵니다.

 

여덟 번째,  가장 위에 있는 값보다 작으면 NO를 출력하고 아니라면 -을 저장합니다.

 

아홉 번째, char형 벡터에 저장되어 있는 것을 한꺼번에 다 출력합니다. 

 

반응형

댓글