백준 2675 문자열 반복

c++문제풀이

문제

문자열 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를 출력한다.

string으로 문제풀이하는것보다 char로 문제풀이하는 것을 권장
string type comsume more memory over char
string is an object wheras char is a primitive type

  • char 활용 문제풀이
#include<cstdio>
int main()
{
	int tc;
	scanf("%d", &tc);
	
	int count;
	char str[21];	
	for(int i = 0; i<tc; i++)
	{
        scanf("%d %s", &count, str); 
        for(int j = 0 ; str[j]; ++j)  //point1
            for(int k = 0; k <count; ++k)
                printf("%c", str[j]);
        printf("\n");
    }    
	return 0;
}

point1 : str[j] 가 0 이되는 순간은 문자열의 마지막 index 임을 의미

  • string 활용 문제풀이
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;

int main()
{
	int tc;
	scanf("%d", &tc);
	
	string str;
	for(int i = 0; i < tc; ++i)
	{
		int r;
		scanf("%d", &r); 
		
		getchar(); //clear the buffer
		getline(cin, str);
		
		for(int j = 0; j < str.size(); ++j)
		{
			for(int k = 0 ; k < r; ++k)
			{
				printf("%c", str[j]);
			}
		}
		printf("\n");
	}
	return 0;
}

RPC Message procedure

Remote Procedure Call - Stateful Continue reading

PubSub architecture

Published on August 10, 2023

RESTful architecture

Published on August 09, 2023