문자열 거꾸로 표시하기

C++Beginner
지금 연습하기

소개

이 랩에서는 주어진 문자열을 거꾸로 표시하는 C++ 프로그램을 작성하는 방법을 배우게 됩니다. C++ 에서 주어진 문자열을 뒤집는 방법에는 여러 가지가 있습니다. 여기서는 두 가지 다른 방법을 살펴볼 것입니다: 직접 구축할 사용자 정의 reverse 함수를 사용하는 방법과 C++ 내장 reverse 함수를 사용하는 방법입니다.

문자열을 뒤집는 사용자 정의 함수

먼저, 주어진 문자열을 뒤집는 사용자 정의 함수를 작성해 보겠습니다. 이 함수는 첫 번째 문자를 마지막 문자와 바꾸고, 두 번째 문자를 뒤에서 두 번째 문자와 바꾸는 식으로 전체 문자열이 뒤집힐 때까지 진행합니다.

reverseStr 함수를 생성하고 문자열을 참조로 전달합니다. 이렇게 하면 새로운 문자열을 반환하는 대신 원래 문자열을 수정할 수 있습니다. 이 함수는 문자열의 양쪽에서 문자를 교환하는 for 루프를 가지며, 전체 문자열이 뒤집힐 때까지 점차적으로 안쪽으로 진행합니다.

#include<iostream>
#include<string>
using namespace std;

void reverseStr(string& str) {
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        swap(str[i], str[n - i - 1]);
    }
}

내장 'reverse' 함수 사용

C++ 는 또한 <algorithm> 헤더 파일에 있는 문자열을 뒤집는 내장 함수를 제공합니다. 뒤집을 문자열의 시작과 끝 위치를 전달하여 reverse() 함수를 사용할 수 있습니다.

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int main() {
    string str = "hello";
    reverse(str.begin(), str.end());
    cout << str;
    return 0;
}

프로그램 테스트

위에서 언급한 방법 중 하나를 사용하여 프로그램을 테스트해 보겠습니다. 이렇게 하려면 방금 생성한 함수 또는 내장 reverse() 함수를 호출하기만 하면 됩니다. 뒤집고 싶은 문자열을 함수의 인수로 전달합니다.

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

void reverseStr(string& str) {
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        swap(str[i], str[n - i - 1]);
    }
}

int main() {
    string myString = "Hello World!"; //define a string to be reversed

    //Method 1
    cout << "REVERSED STRING USING CUSTOM FUNCTION:\n";
    reverseStr(myString); //calling the custom function to reverse the string
    cout << myString << endl;

    //Method 2
    cout << "\nREVERSED STRING USING INBUILT 'REVERSE' FUNCTION:\n";
    reverse(myString.begin(), myString.end()); //calling the inbuilt function to reverse the string
    cout << myString << endl;

    return 0;
}

요약

이 랩에서는 주어진 문자열을 거꾸로 표시하는 C++ 프로그램을 작성하는 방법을 배웠습니다. 자체적으로 생성한 사용자 정의 함수를 사용하는 방법과 C++ 의 내장 reverse 함수를 사용하는 두 가지 다른 방법을 살펴보았습니다. 또한 함수를 호출하여 두 가지 방법 모두를 사용하여 프로그램을 테스트했습니다. 이제 어떤 문자열이든 순식간에 뒤집을 수 있습니다!