string(R, c)는 문자 c를 R번 반복하여 만든 문자열을 생성하는 C++의 표준 라이브러리 함수입니다. 이 함수는 <string> 헤더에 정의되어 있습니다.
간단히 설명하면, string 클래스의 생성자 중 하나인데, 첫 번째 매개변수에는 반복 횟수를, 두 번째 매개변수에는 반복할 문자를 전달합니다.
예를 들어, string(3, 'A')는 문자 'A'를 3번 반복한 문자열 "AAA"를 생성합니다. 코드에서는 이를 이용하여 각 문자를 R번 반복하는 부분을 간결하게 표현하고 있습니다.
#include <iostream>
#include <string>
using namespace std;
int main() {
// 테스트 케이스의 개수 입력
int T;
cin >> T;
// 각 테스트 케이스에 대한 반복
for (int i = 0; i < T; ++i) {
// 반복 횟수 R과 문자열 S 입력
int R;
string S;
cin >> R >> S;
// 각 문자를 R번 반복하여 새 문자열 P 생성
string result = "";
for (char c : S) {
result += string(R, c);
}
// 결과 출력
cout << result << endl;
}
return 0;
}
이 코드는 백준 2675번 문제와 관련이 있습니다.
그 외에도 string 관련 함수에 대해 알아보겠습니다.
1. `append` 함수:
`std::string`의 `append` 함수는 문자열을 뒤에 추가하는 데 사용됩니다. 다음은 `append` 함수의 사용 예시입니다:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
str.append(" World");
std::cout << str << std::endl; // 출력: Hello World
return 0;
}
2. `insert` 함수:
`std::string`의 `insert` 함수는 특정 위치에 문자열을 삽입하는 데 사용됩니다. 다음은 `insert` 함수의 사용 예시입니다:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
str.insert(5, " World");
std::cout << str << std::endl; // 출력: Hello World
return 0;
}
3. `end` 함수:
`std::string`의 `end` 함수는 문자열의 끝을 나타내는 반복자(iterator)를 반환합니다. 이를 사용하여 문자열의 끝에 새로운 문자열을 추가할 수 있습니다. 다음은 `end` 함수의 사용 예시입니다:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
str.insert(str.end(), ' ');
str.append("World");
std::cout << str << std::endl; // 출력: Hello World
return 0;
}
이 예제에서 `insert` 함수와 `append` 함수를 사용하여 문자열의 끝에 공백을 삽입하고 "World"를 추가했습니다. `str.end()`는 문자열의 끝을 나타내는 반복자를 반환하며, 이를 통해 문자열의 끝에 원하는 연산을 수행할 수 있습니다.