[백준 BOJ] 11721번 열 개씩 끊어 출력하기 (C++/cpp)

2022. 6. 27. 02:25PS (Program Solving)/BOJ (백준)

문제 설명

https://www.acmicpc.net/problem/11721

 

11721번: 열 개씩 끊어 출력하기

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

www.acmicpc.net

백준 BOJ 11721번 열 개씩 끊어 출력하기 문제 사진

 

접근 방법 - 반복문 사용의 심화 문제

백준의 11721번 문제는 반복문 사용에 있어 다소 깊이 있는 응용을 요구하는 문제이다.

해당 문제는, 입력받은 문자열에 대하여 한 줄에 10개의 문자씩 출력하여 해결해야 하는 문제이다.

반복문의 사용에 있어 능숙하다면 큰 어려움 없이 풀 수 있는 문제로 예상된다.

필자의 경우엔 while문과 for문을 함께 사용하였는데, 이에 대해서는 아래에서 계속 설명하고자 한다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 문자열(st)을 입력받는다.

 

2) 무한 반복문을 통해 st에 대하여 아래의 연산을 취한다.

- 다른 반복문을 넣어 10 글자씩 출력하도록 한다.

- 위 반복문이 종료될 때마다 개행을 수행하도록 한다.

- 출력을 수행하는 도중, 문자열의 길이만큼 출력을 완료했다면 모든 반복문에서 탈출하도록 한다.

 

3) 2)에서 출력이 완료되었다면, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <string>
#define endl '\n'
using namespace std;

//백준 11721번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	string st;
	cin >> st;
	
	int i = 0;
	while (i < st.length()) {
		for (int j = 0; j < 10; j++) {
			cout << st[i];	i++;
			if (i == st.length()) { break; }
		}
		cout << endl;
	}
}

 

제출 결과

백준 BOJ 11721번 열 개씩 끊어 출력하기 문제 C++ 제출 결과

(2022.05.30 백준 11721번 문제 제출 결과)

반응형