[알고리즘] 단어순서 뒤집기 - 백준 12605

se.jeon·2023년 3월 13일
0

알고리즘

목록 보기
18/21

문제

과정

input을 string형태에 입력받고, split 해 주고, 거꾸로 출력 해 주는 간단한 형태이다. split 하는 부분은 일반적으로 통용되는 형태로 보이는 코드를 가져다가 사용했다.

결과

//
// Created by 전시은 on 2023/03/11.
//
// 문제 :: 단어순서 뒤집기
// 링크 :: https://www.acmicpc.net/problem/2693
// 입력 :: 첫 행은 N이며, 전체 케이스의 개수이다.
//
//N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다.
//N = 5
//1 ≤ L ≤ 25
// 출력 :: 각 케이스에 대해서, 케이스 번호가 x일때  "Case #x: " 를 출력한 후 그 후에 이어서 단어들을 반대 순서로 출력한다.

#include "../Problems.h"
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;

vector<string> split12605(string input, char delimiter) {
    vector<string> answer;
    stringstream ss(input);
    string temp;

    while (getline(ss, temp, delimiter)) {
        answer.push_back(temp);
    }

    return answer;
}

//int main()
int Solve12605()
{
    cout << "[디버깅용] Solve12605 :: 시작지점 >> \n";

    cin.tie(NULL);
    ios_base::sync_with_stdio(false);

    int nCase;
    cin >> nCase;
    cin.ignore();

    for(int i = 0; i < nCase; i++)
    {
        vector<string> result;
        string sInput;
        getline(cin, sInput);
        result = split12605(sInput, ' ');

        cout << "Case #" << i + 1 << ": ";
        for(int i = result.size()-1; i >= 0; i--)
        {
            cout << result[i] << " ";
        }
        cout << "\n";
    }


    return 0;
}
profile
취미 다이소

0개의 댓글