알고리즘 문제 풀이

44. C++ 백준 2675 번 문자열 반복

코딩하는 덕구 🐶 2022. 1. 25. 17:17
728x90

안녕하세요! 코딩하는 덕구입니다!

각 문자를 반복하여 출력하는 문제인 C++ 백준 2675 번 입니다!

문제

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.

입력

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 

출력

각 테스트 케이스에 대해 P를 출력한다.

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

 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net

 

#include <iostream>
#include <string>
using namespace std;
int main(){
    int R,T;
    string str;
    cin>>T;
    for(int i = 0; i<T; i++){ //테스트 케이스를 위한 for문
        cin>>R>>str;
        for(int j = 0; j<str.length(); j++){ 
            for(int k = 0; k<R; k++){
                cout<<str[j];
            }
        }
        cout<<endl;
    }

    return 0;
}

 

이번 문제도 역시 string 을 사용하면 쉽게 해결할 수 있습니다!

테스트 케이스를 위한 for문 안에

문자열 str의 문자 하나씩 접근하기 위한 두번째 for문, 

그리고 그 문자를 R 번 반복하기 위한 세번째 for문으로 코드를 작성해봤습니다!

줄바꿈 하지 않으면 한 문장처럼 출력이 되겠죠!

 

C++ 2675번 이었습니다! 감사합니다~!

 

728x90