공부하기/백준

[Python] 백준 풀기 2675 - 문자열 반복

XEV 2022. 10. 28. 23:51

파이썬 백준 2675번

브론즈2

https://www.acmicpc.net/problem/2675

 

2675번: 문자열 반복

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

www.acmicpc.net

 

 

 

 

문제 보기

분류: 문자열 단계, 구현

 

 

 

문제 풀기

아마도 이 문제는 파이썬 보다 다른 언어로 풀었을 경우 중요도가 높을 것 같다.

문제에서 주어진 QR Code alphanumeric 은

"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./:" 로 주어졌고 특수 문자를 프린트하는 데 있어 문제가 발생할 것 같은 예감이 들기 때문이다.

나는 파이썬을 이용하여 풀었기 때문에 제시된 문자를 프린트하는데 문제는 없었다.

 

풀이 코드는 R 과 S 를 str 으로 저장하고 S 의 각 문자를 int(R) 만큼 반복 loop 를 돌려 리스트 SR 에 순차적으로 저장하고, 마지막에 모두 저장된 리스트의 원소들을 공백 없이 묶어서 return 해 주었다.

 

 

 

코드 보기

import sys
inputdata = sys.stdin.readline

def fnStringRepeat(R, S):
    SR = []
    for _s in S:
        for _ in range(int(R)):
            SR.append(_s)
    return "".join(SR)


if __name__ == "__main__":
    T = int(inputdata().strip())
    for _ in range(T):
        R, S = map(str, inputdata().split())
        
        result = fnStringRepeat(R,S)
        print(result)