[C_C++]코딩테스트 연습/[백준] 일반 문제
[백준] 11721 열 개씩 끊어 출력하기 - C++ 입출력
코딩굼벵이
2022. 1. 22. 20:54
728x90
https://www.acmicpc.net/problem/11721
11721번: 열 개씩 끊어 출력하기
첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
www.acmicpc.net
문제
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.
한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
출력
입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.
예제 입력 1 복사
BaekjoonOnlineJudge
예제 출력 1 복사
BaekjoonOn
lineJudge
예제 입력 2 복사
OneTwoThreeFourFiveSixSevenEightNineTen
예제 출력 2 복사
OneTwoThre
eFourFiveS
ixSevenEig
htNineTen
10개마다 한줄씩 출력하도록 해서 제출했다.
다른 사람 풀이를 보니 코드 길이와 메모리상 그냥 10번째마다 줄바꿈 '\n'을 출력하는 게 더 효율적일 것 같다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int num;
cin >> str;
num = str.length() / 10;
for (int i = 0; i <= num; i++) {
if(i != num)
cout << str.substr(i*10, 10) << endl;
else
cout << str.substr(i*10, num + str.length() % 10) << endl;
}
return 0;
}