알고리즘 모음(C++)

백준 9093 - 단어 뒤집기(C++) 본문

백준

백준 9093 - 단어 뒤집기(C++)

공대생의 잡다한 사전 2023. 5. 28. 23:31

문제 링크입니다. https://www.acmicpc.net/problem/9093

 

9093번: 단어 뒤집기

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는

www.acmicpc.net

띄어쓰기를 기준으로 단어를 뒤집어 출력하는 문제입니다.

띄어쓰기가 나타나기 전까지 단어를 저장한 뒤, 띄어쓰기가 나타나면 단어를 뒤집어 출력해줍니다.

 

string 형을 사용하면 reverse를 이용해 쉽게 뒤집을 수 있습니다.

 

 

자세한 것은 코드를 참고해주세요

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>

using namespace std;

int N;
char arr[1001];

int main(){
    cin.tie(0);
    cout.tie(0);
    cin >> N;
    cin.ignore();
    for(int i = 1; i <= N; i++){
        cin.getline(arr, 1001);
        string x = "";
        for(int j = 0; j < strlen(arr); j++){
            if(arr[j] == ' '){
                reverse(x.begin(), x.end());
                cout << x << " ";
                x = "";
            }
            else x += arr[j];
        }
        if(x.size() > 0) {
            reverse(x.begin(), x.end());
            cout << x;
        }
        cout << "\n";
    }
    return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요