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

C++ 프로그램으로 문자열 길이 구하기, 연결하기, 첫 문자 교환하기

문제 소개

두 개의 문자열 s와 t가 주어졌다고 가정해 봅시다. 우리는 세 줄에 걸쳐 결과를 출력해야 합니다.

  • 첫 번째 줄: 문자열 s와 t의 길이를 공백으로 구분하여 출력
  • 두 번째 줄: s와 t를 이어 붙인(concatenation) 문자열 출력
  • 세 번째 줄: s와 t의 첫 번째 문자를 서로 교환한 후 공백으로 구분하여 출력

예를 들어 입력이 s = "hello", t = "programmer"라면 출력 결과는 다음과 같습니다.

5 10
helloprogrammer
pello hrogrammer

문제 해결 접근 방법

이 문제는 다음 단계를 따라 해결할 수 있습니다.

  • 문자열 s의 길이를 출력한 뒤 공백 하나를 출력하고, 이어서 t의 길이를 출력합니다.
  • s + t를 사용하여 두 문자열을 연결한 결과를 출력합니다.
  • 임시 변수 temp에 s[0]의 값을 저장합니다.
  • s[0]에 t[0]의 값을 대입합니다.
  • t[0]에 temp 값을 대입하여 첫 번째 문자를 교환합니다.
  • 교환이 완료된 s를 출력한 뒤 공백 하나를 넣고 t를 출력합니다.

예제 코드

아래 구현 예제를 통해 더 잘 이해해 보겠습니다.

#include <iostream>
using namespace std;
int main(){
    string s = "hello", t = "programmer";
    cout << s.length() << " " << t.length() << endl;
    cout << s + t << endl;
    char temp = s[0];
    s[0] = t[0];
    t[0] = temp;
    cout << s << " " << t << endl;
}

입력

"hello", "programmer"

출력

5 10
helloprogrammer
pello hrogrammer

코드 설명

C++의 string 클래스에서 제공하는 length() 함수를 사용하면 문자열의 길이를 손쉽게 얻을 수 있습니다. 또한 + 연산자를 활용하면 두 문자열을 간단하게 연결할 수 있습니다. 마지막으로 인덱스 접근(s[0], t[0])과 임시 변수를 이용하면 두 문자열의 첫 문자를 안전하게 교환할 수 있습니다. 이 프로그램은 시간 복잡도 O(n) 내에 실행되며, 문자열 처리의 기본기를 익히기에 좋은 예제입니다.