백준 단계별로 풀어보기(C++)/5)문자열

백준 2675) 문자열 반복 (C++)

코테 2023. 3. 25. 19:51

전체 코드

#include <iostream>

int main()
{
	int T, R, idx;
	char S[21];
	std::cin >> T;
	for (int i = 0; i < T; i++)
	{
		std::cin >> R >> S;
		idx = 0;
		while (S[idx]!='\0')
		{
			for (int i = 0; i < R; i++)
			{
				std::cout << S[idx];
			}
			idx++;
		}
		std::cout << std::endl;
	}
}

풀이

  • char 배열 선언, 단어는 20글자를 안넘는다하지만 글자끝에 항상 '\0'이 들어가는것을 고려해서 다음과 같이 선언
char S[21];
  • T번 반복하는 반복문
  • R과 S값 입력받음
  • idx값을 0으로 초기화(반복 할때마다 0으로 초기화하기 위해 다음과 같이 초기화)
  • 배열 S에서 '\0'을 만날때까지 반복하는 반복문 : R번 반복하는 반복문을 이용해 글자를 R번 출력후 idx값을 1 더하기(다음 배열값으로 넘어가기 위해 필요)
  • for문 다음 반복으로 넘어가기전에 endl 출력으로 줄바꿈 하기
for (int i = 0; i < T; i++)
{
	std::cin >> R >> S;
	idx = 0;
	while (S[idx]!='\0')
	{
		for (int i = 0; i < R; i++)
		{
			std::cout << S[idx];
		}
		idx++;
	}
	std::cout << std::endl;
}