Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 주어진 횟수만큼 문자열을 반복 연결하는 프로그램

이 글에서는 하나의 문자열을 사용자가 입력한 횟수(n)만큼 반복해서 연결하는 방법을 알아보겠습니다. 문제 자체는 매우 간단하며, C++에서는 + 연산자(또는 += 연산자)를 사용해 손쉽게 문자열을 이어 붙일 수 있습니다.

예를 들어 문자열 "Hello"를 5번 연결하면 "HelloHelloHelloHelloHello"라는 결과가 만들어집니다. 아래 알고리즘과 예제 코드를 통해 구현 과정을 살펴보겠습니다.

알고리즘

concatStrNTimes(str, n)

begin
    res := 빈 문자열
    for i in range 1 to n, do
        res := res와 str을 연결
    done
    return res
end

알고리즘의 핵심은 결과를 저장할 빈 문자열 res를 준비한 뒤, 반복문을 n회 돌면서 원본 문자열 str을 계속 뒤에 덧붙이는 것입니다.

예제 코드

#include<iostream>
using namespace std;

main() {
    string myStr, res = "";
    int n;
    cout << "Enter String: ";
    cin >> myStr;
    cout << "Enter number of times it will be concatenated: ";
    cin >> n;
    for(int i = 0; i < n; i++) {
        res += myStr;
    }
    cout << "Result: " << res;
}

코드 설명

  • myStr: 사용자가 입력한 원본 문자열을 저장합니다.
  • n: 문자열을 반복할 횟수를 저장합니다.
  • res: 최종 결과 문자열로, 처음에는 빈 문자열("")로 초기화합니다.
  • for 반복문이 n번 실행되면서 res += myStr; 연산으로 myStr을 res 뒤에 계속 추가합니다.

실행 결과

Enter String: Hello
Enter number of times it will be concatenated: 5
Result: HelloHelloHelloHelloHello

위 출력에서 볼 수 있듯이, "Hello"가 정확히 5번 연결되어 하나의 문자열로 출력됩니다. 참고로 C++11 이상 환경이라면 반복문 없이도 다양한 방식(예: 임시 문자열 곱셈 기법, std::string 생성자 활용 등)으로 같은 결과를 얻을 수 있지만, 가장 직관적이고 이해하기 쉬운 방법은 위와 같은 단순 반복문 방식입니다.