※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 9093번 문제인 단어 뒤집기이다.
문제는 아래 링크를 확인하자.

www.acmicpc.net/problem/9093

 

9093번: 단어 뒤집기

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

www.acmicpc.net

이 문제는 문장을 통째로 입력받아 각 단어단위로 뒤집어 출력하는 문제이다.

줄 단위로 입력받는 방법을 알아갈 수 있는 문제였다.

 

이 문제에서는 string line 변수를 만들고 getline(cin, line)을 통해 한 줄씩 읽어올 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using std::getline;
using std::string;
using std::cin;
using std::cout;

int main()
{
    std::ios::sync_with_stdio(0);
    cin.tie(0);

    int N; cin >> N; cin.ignore();
    string line;
    int linelen;
    int s = 0, e = 0;
    for (int i = 0;i < N;i++) {
        s = 0;
        getline(cin, line);
        line += ' ';
        linelen = line.length();
        for (int i = 0;i < linelen;i++) {
            if (line[i] == ' ') {
                e = i;
                for (int j = e - 1;j >= s;j--) {
                    cout << line[j];
                }
                cout << ' ';
                s = e + 1;
            }
        }
        cout << '\n';
    }
    return 0;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 1798 // C++] 원뿔좌표계상의 거리  (0) 2021.03.10
[BOJ 1406 // C++] 에디터  (0) 2021.03.09
[BOJ 15678 // C++] 연세워터파크  (0) 2021.03.07
[BOJ 18171 // C++] ABB  (0) 2021.03.06
[BOJ 11046 // C++] 팰린드롬??  (0) 2021.03.05

+ Recent posts