본문 바로가기

코딩테스트

[백준/Python] 문자열 반복 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를 출력한다.

예제 입력             예제 출력

2                                    AAABBBCCC

3 ABC                              /////HHHHHTTTTTPPPPP

5 /HTP

 


 

 

코드리뷰

T=int(input())

for i in range(T):
    R,S=input().split()
    
    for j in S:
        print(j*int(R), end='')
    print()

1. R,S를 모두 문자열로 받아서 split()을 사용해 공백으로 구분해준다. (R은 나중에 int로 수정)

2. for j in S의 의미는 S문자열의 첫번째 인덱스부터 반복한다는 뜻.

3. end=''를 사용하면 옆으로 쭉 나열해서 출력시킴

4. print()를 사용해 다음줄에 커서 옮김

 

 

 

 

파이써 반복문이 아직도 헷갈린다. 처음에 for문을

for j in range(len(S)):

    print(S[j]*R, end='')

이런식으로 썼었다. 사실 맞긴 맞지만 굉장히 C언어스러운 문법...

파이썬 문법에 익숙해져야겠다.

 

'코딩테스트' 카테고리의 다른 글

[백준/Python] 누울 자리를 찾아라 1652  (0) 2021.10.29
[백준/Python] 단어 공부 1157  (0) 2021.10.22
[백준/Python] 개표 10102  (0) 2021.10.19
[백준/Python] 크냐? 4101  (0) 2021.10.18
[백준/Python] 홀짝 칵테일  (0) 2021.10.17