728x90
📌 문제 링크
https://www.acmicpc.net/problem/12789
간단한 문제인데 while문의 코드를 else if로 만들어서 넣었다가 틀려서 바꿨다!
👩💻 전체코드
#include <stdio.h>
int N;
int arr[1000+10];
int stack[1000+10];
int front = -1;
void push(int n) {
stack[++front] = n;
}
int pop() {
return stack[front--];
}
int top() {
return stack[front];
}
void input() {
scanf("%d", &N);
for(int i = 0; i<N; i++) {
scanf("%d", &arr[i]);
}
}
void solve() {
int queue = 1;
for(int i = 0; i<N; i++) {
if(queue == arr[i]) {
queue += 1;
while(queue == top() && front >= 0) {
pop();
queue += 1;
}
} else {
push(arr[i]);
}
}
if(front != -1) {
printf("Sad");
} else {
printf("Nice");
}
}
int main() {
input();
solve();
return 0;
}
728x90
'ⓒⓞⓓⓘⓝⓖⓣⓔⓢⓣ > ⓒ' 카테고리의 다른 글
[프로그래머스/C언어] 최솟값 만들기 (1) | 2024.04.29 |
---|---|
[프로그래머스/C언어] 콜라츠 추측 (0) | 2023.11.09 |
[프로그래머스/C언어] 문자열을 정수로 바꾸기 (0) | 2023.11.05 |
[프로그래머스/C언어] 가위 바위 보 (0) | 2023.11.05 |
[C언어] 동적할당 (1) | 2023.11.01 |
댓글