본문 바로가기
카테고리 없음

[백준 2675번] 파이썬(python) 문자열 I 문자열 반복

by MD.Kang 2021. 4. 17.

문제

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

예제 입력 1

2

3 ABC

5 /HTP

예제 출력 1

AAABBBCCC

/////HHHHHTTTTTPPPPP

 

 

n = int(input())
for i in range(n):
    num, s = input().split()
    text = ''
    for i in s:
        text += int(num) * i
    print(text)

 

알았던 내용

n을 받아 for 문을 이용하여 원하는 횟수만큼 반복적 사용이 가능하게 할 수는 있었다.

 

몰랐던 내용

3 ABC 이와 같은 ABC 부분을 map 활용하는 능력이 부족하여 문제 푸는 시간이 길어져버렸다. 게다가 input().split() 쓰임을 정확히 이해하지 못하고 있다 . text = '' 는 split()함으로써 생기는 것은 줄 알고 있었는데, 그게 아니었나보다. text += int(num) * i으로 부드럽게 같은 텍스트 반복이 가능하다는 점.

 

배운 내용

반복 입력이 필요한 기능에 적합할 것으로 보인다. 가령, 서치 프로그램에서 한번 검색하고 말 것은 여러번 검색해야할 때

이와 같은 문자 반복을 잘 활용하면, 한번의 타이핑으로 수십만번의 타이핑이 가능해지는 것이다 .