본문 바로가기

코드연습/BOJ

BOJ 2675 : 문자열 반복

728x90

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

 

N = int(input())


for i in range(N):
    new_data = []
    num, data = input().split()
    
    for i in list(data):
        new_data.append(i*int(num))
    
    new_data = "".join(new_data)
    print(new_data)

 

조금 바보 같지만, 빈 문자를 선언하고 기존 문자 리스트를 join하는 방법으로 문제를 해결했다. 더 단순하게 한 사람들도 많다. 추가로 string도 for 로 item을 뽑아내면 굳이 list로 뱉어내서 str만들지 않고 할 수 있다. 내가 바보같이 한 듯.

 

아래와 같이 간결해짐.

t= int(input())
for i in range(t):
    a,b = input().split()
    for x in b:
        print(int(a)*x,end='')
    print()

'코드연습 > BOJ' 카테고리의 다른 글

BOJ 1316 : 그룹 단어 체커  (0) 2022.04.08
BOJ 2941 : 크로아티아 알파벳  (0) 2022.04.08
BOJ 2908 : 상수  (0) 2022.04.07
BOJ 1065 : 한수  (0) 2022.04.06
BOJ 4673 셀프넘버  (0) 2022.04.06