-
[ 11721 ] 열 개씩 끊어 출력하기 - 구현알고리즘/BOJ 2021. 7. 23. 20:31
< 구현 > - < solve등급 >
[ 11721 ]
열 개씩 끊어 출력하기
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.
한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.
:: 입력
첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
:: 출력
입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.
아이디어
주어진 단어의 길이가 10의 배수인 경우 10자리씩 끊어서 새로운 스트링으로 저장하고
이를 벡터에 담아 순서대로 출력해준다.
10의 배수가 아닌 경우 10의 배수인 부분까지 위의 작업을 수행하고 남은 부분은 따로 출력해준다.
정답 코드
#include <string> #include <vector> #include <iostream> #include <algorithm> using namespace std; #define endl "\n" int main() { string s; cin >> s; vector<string> v; int cnt = s.size() / 10; int l = s.size() % 10; int ndx = 0; for (int i = 0; i < cnt; i++) { string word = s.substr(ndx, 10); v.push_back(word); ndx += 10; } for (int i = 0; i < v.size(); i++) { cout << v[i] << endl; } if (l != 0) { string last = s.substr(10 * cnt, s.size() - 10 * cnt); cout << last << endl; } }
'알고리즘 > BOJ' 카테고리의 다른 글
X - [ 11719 ] 그대로 출력하기 2 - 구현 (0) 2021.07.23 X - [ 11718 ] 그대로 출력하기 - 구현 (0) 2021.07.23 [ 2750 ] 수 정렬하기 - 구현 (0) 2021.07.23 [ 2441 ] 별 찍기 - 4 - 구현 (0) 2021.07.23 [ 2440 ] 별 찍기 - 3 - 구현 (0) 2021.07.23