※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 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 |