9093 : 단어 뒤집기

서희찬·2021년 9월 15일
0

백준

목록 보기
31/105

문제

코드

#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으로 초기화 시켜주어야한다 !

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글