반응형
입력:
첫 줄에 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형 벡터에 저장되어 있는 것을 한꺼번에 다 출력합니다.
반응형
'코딩공부 > 코딩테스트 공부 일기장' 카테고리의 다른 글
11286번 절댓값 힙(우선순위큐와 abs) (0) | 2024.04.04 |
---|---|
29723번 브실이의 입시전략 (0) | 2024.04.03 |
3월 23일 스택과 큐 공부 (0) | 2024.03.25 |
1940번 난이도:실버 4 (주몽의 명령) (2) | 2024.03.07 |
2018번 난이도:실버 5(연속된 자연수의 합 구하기)-투 포인터 (2) | 2024.03.07 |
댓글