티스토리 뷰

반응형
#include <iostream>


using namespace std;


int main(void)
{
	char ch[30];
	int num,num2;

	cin >> num;
	for (int i = 0; i < num; i++)
	{
		cin >> num2 >> ch;
		for (int j = 0; ch[j] != '\0'; j++)
		{
			for (int k = 0; k <num2; k++)
				cout << ch[j];
		}
		cout << endl;
			
	}
	return 0;
	
}

 

 

1) 입력받을 횟수를 num에 받는다.

2) 문자를 배열에 입력한다.

3) 한 문자의 반복횟수를 입력받는다. 

2번을 입력받으면 aabbcc처럼 각 문자가 두번되야하는데, 여기서 한 번 더 필요한 것이 문자열의 길이이다.

문자열이 abcd면 각각 4개를 2번씩 반복해야하고 abcde면 5개를 2번씩 반복해야한다.

 

for을 3번이나 쓰면 시간복잡도가 \(O(n^3)\)이기에 다른 방법을 찾아보니, 다 이런 방법으로만 했다.

반응형

'프로그래밍 > 백준 문제풀이' 카테고리의 다른 글

백준 1152 단어의 개수 C/C++  (0) 2022.05.04
1157 단어 공부 C/C++  (0) 2022.05.02
백준 10809번 알파벳 찾기 C/C++  (0) 2022.04.17
11720 숫자의 합  (0) 2022.04.16
11654 아스키 코드  (0) 2022.04.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
반응형