728x90
https://www.acmicpc.net/problem/11721
문제
알파벳 소문자와 대문자로만 이루어진 길이가 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;
}
'[C_C++]코딩테스트 연습 > [백준] 일반 문제' 카테고리의 다른 글
[백준] 삼성 SW 역량 테스트 기출 - 2048 (Easy) (C언어) (0) | 2022.07.20 |
---|---|
[백준] 삼성 SW 역량 테스트 기출 - 구슬탈출2 (C언어) (0) | 2022.07.19 |
[백준] 11720 숫자의 합 - C++ 입출력 (0) | 2022.01.22 |
[백준] 11719 그대로 출력하기 2 - C++ 입출력 (0) | 2022.01.22 |
[백준] 11718 그대로 출력하기 - C++ 입출력 (0) | 2022.01.22 |