Practice #2
Coddy의 스택 - 자료구조 시리즈 #1 코스 레슨 — 13개 중 10번째.
다음 도전 과제들은 stack 을 사용하도록 설계되었습니다.
Stack 자료 구조는 이미 제공되어 있습니다 — 그것을 사용하세요!
챌린지
쉬움정수 배열을 입력받아 각 요소의 (왼쪽에서) 가장 가까운 작은 요소(nearest smaller element)를 포함하는 배열을 반환하는 함수 nse를 작성하세요. 만약 어떤 요소의 왼쪽에 더 작은 요소가 없다면 -1을 반환합니다.
이 문제를 해결하기 위해 제공된 Stack을 사용하세요!
예시:
입력: [4, 5, 2, 10, 8]
예상 출력: [-1, 4, -1, 2, 2]
직접 해보기
#include <stdio.h>
#include <stdlib.h>
#include "nse.h"
int main() {
int* a = (int*)malloc(sizeof(int) * 1000);
int aSize = 0;
int x;
while (scanf("%d", &x) == 1) {
a[aSize++] = x;
}
int returnSize;
int* result = nse(a, aSize, &returnSize);
for (int i = 0; i < returnSize; i++) {
printf("%d\n", result[i]);
}
free(a);
return 0;
}