2675번 문자열 반복 문제

김영헌·2022년 1월 19일
0

백준

목록 보기
4/7
post-thumbnail

문제

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

조건

  • 1≤T≤1000
  • 1≤R≤8
  • 1≤S<20

알고리즘

  • 테스트 케이스 T를 입력받는다.
  • 문자열 S를 입력받는다.
  • 반복할 숫자 R을 입력받는다.
  • 새문자열 P로 S의 단어 하나씩을 R만큼 반복해서 출력한다.

오늘 배운거

  • strcmp(s1, s1) → 같을 시 0 return, 다를 시 1 return
  • char array는 그냥 선언시 값이 안들어간 부분은 “”들이 채워진다.
    • char array function 안에서 initializer 없이 선언시 default value = “”으로 채워짐
    • char array function 밖에서 또는 static으로 선언시 default value = 0으로 채워짐
  • array를 선언하는 다양한 방법
    1. Allocate memory on stack: int arr[5];

      → function을 exit할 때 자동으로 free됨

    2. Allocate memory on Heap: int arr = (int)malloc(5sizeof(int));

      → free(arr); 을 통해서 메모리 관리 가능

Code

#include <stdio.h>

#include <string.h>

int main(){

	int T, R, j=0;

	char S[20];

	scanf("%d", &T);

	for(int i = 0; i < T; i++){

		j = 0;

		scanf("%d", &R);

		scanf("%s", S);

		while(strcmp(&S[j], "")){

			for(int x = 0; x < R; x++){

				printf("%c", S[j]);

			}

			j++;

		}

		printf("\n");

	}

	return 0;

}
profile
대기업 회장님

0개의 댓글