#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int top=0;
char arr[1001], stack[1001];
int main(void)
{
int t;
scanf("%d ",&t);
for(int i=0;i<t;i++) //반복문 실행
{
fgets(arr, 1001, stdin); //문장입력받기
for(int i=0;i<strlen(arr)-1;i++)
{
if(arr[i]!=' ')
{
stack[top++] = arr[i];
}
if(arr[i]==' ' || i==strlen(arr)-2)
{
for(int i=top-1;i>=0;i--)
printf("%c",stack[i]);
printf(" ");
top=0;
}
}
printf("\n");
}
return 0;
}
스택이라는 배열에 arr를 하나씩 넣고 만약 공백을 만나게 된다면 top 인덱스 값부터 stack배열에서 값을 출력해주게 만들면되는 문제이다.
그러고 top을 다시0으로 초기화 시켜주어야한다 !