반응형
https://www.acmicpc.net/problem/2675
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
char S[20], P[160];
int T, R;
scanf("%d",&T); //Testcase
for (int i = 0; i < T; i++) {
scanf("%d%s", &R, S);
int count = 0, var = 0; //테스트케이스 간 중첩되지 않기 위해 반드시 여기서 초기화 시켜줘야 함
while (S[count] != 0) { // NULL값까지
for (int j = 0; j < R; j++) { //각각의 문자에 대해 R만큼 반복
P[var] = S[count];
var++;
}
count++;
}
for (int i = 0; i < var; i++) {
printf("%c", P[i]);
}
printf("\n");
}
return 0;
}
풀이 전
문자열의 길이를 출력하는 함수를 쓰면 쉽게 풀 수 있겠지만
그냥 풀어보기로했다. 변수의 선언이 중요하다고 생각했으며 다소 변수의 개수가 많아져도 감안하기로 했다.
풀이 후
반복문 작성만 잘하면 어려움이 없는 문제였다.
반응형
'Baekjoon' 카테고리의 다른 글
[C] 백준 2292번 : 벌집 (0) | 2023.01.18 |
---|---|
[C] 백준 1712번 : 손익분기점 (0) | 2023.01.18 |
[C] 백준 10809번 : 알파벳 찾기 (0) | 2023.01.15 |
[C] 백준 11720번 : 숫자의 합 (0) | 2023.01.14 |
[C] 백준 10951번 : A + B - 4 (2) | 2023.01.13 |