본문 바로가기
컴퓨터/C, C++

[C/C++] 백준 2675번 C언어

by stdFrog 2022. 5. 21.

백준 2675번

 

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

 

#include <stdio.h>

int main()
{
        int T, R;
        char ar[21];

        scanf("%d", &T);
        for(int i=0; i<T; i++){
                for(int j=0; j<sizeof(ar)/sizeof(ar[0]); j++){
                        ar[j]=0;
                }
                scanf("%d %s", &R, ar);
                for(int k=0; k<sizeof(ar)/sizeof(ar[0]); k++){
                        for(int h=0; h<R; h++){
                                if(ar[k]==0){
                                        continue;
                                }
                                printf("%c", ar[k]);
                        }
                }
                printf("\n");
        }
}

 

위 코드에선 문자열을 받는 S가 ar배열이다.

 

배열 관련 문제만 나오면 sizeof를 사용하는데 sizeof는 연산자이지 런타임 함수가 아니므로 속도는 신경 쓰지 않아도 된다.

반응형

'컴퓨터 > C, C++' 카테고리의 다른 글

[C/C++] 백준 1712번 C언어  (0) 2022.05.26
[C/C++] 백준 2941번 C언어  (0) 2022.05.24
[C/C++] 백준 10809번 C언어  (0) 2022.05.19
[C/C++] 백준 11720번 C언어  (0) 2022.05.19
[C/C++] 백준 4344번 C언어  (0) 2022.05.17

댓글