백준 알고리즘 문제 풀이 [Python]

[백준/Python] 2675번 문자열 반복 (문자열)

wlalsu_u 2023. 2. 23. 06:59

2675번 : 문자열 반복 문제

 

 

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오.

 

즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다.

 

S에는 QR Code "alphanumeric" 문자만 들어있다.

 

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.

 

 

 

 

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

 

2675번: 문자열 반복

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

www.acmicpc.net

 

 


 

풀이 코드

 

t = int(input())

for i in range(t):
    num, str = input().split()

    final_string=''
    for j in str:
        final_string += j * int(num)
    print(final_string)

 

 

 

t = int(input())

 

 

- 첫째 줄에서 테스트 케이스의 개수 t 을 입력받음

 

- input() 은 한 줄의 문자열만 입력받을 수 있음

 

- 입력받은 문자열을 정수로 처리하기 위해 int() 함수를 사용

 

 

 

for i in range(t):

 

 

- 입력받은 t 만큼 for 문을 반복하기 위해 range() 사용

 

- 0 부터 t-1 까지 반복 순회

 

 

 

num, str = input().split()

 

 

- 입력 값이 공백으로 구분되어 있으므로, split() 으로 문자열을 나눔

 

-  반복 횟수 r 을 변수 num에 입력받음

 

- 문자열 s 를 변수 str 에 입력받음

 

 

 

final_string=''

 

 

- 각 문자를 r 번 반복한 새 문자열 p 를 저장할 변수 final_string 선언

 

- 빈 문자열로 초기화

 

 

 

for j in str:

 

 

- 'for 변수 in 문자열' 형태로, in 뒤에 오는 데이터로는 리스트, 튜플, 문자열 사용 

 

- 입력받은 문자열 str 의 각 문자를 하나씩 순회

 

 

 

final_string += j * int(num)

 

 

- 앞서 num 의 값을 문자열로 입력받았으므로, int() 함수를 이용하여 정수형으로 변환

 

- j * int(num) 으로, 각 문자를 입력받은 num 만큼 반복

 

- 각 문자를 num 만큼 반복한 새 문자열을 final_string 에 저장 

 

 

 

print(final_string)

 

 

- 문자열 str 의 각 문자를 num 만큼 반복한, 새 문자열 fianl_string 출력

 

 

 

 

 

 

 

 

나동빈 '이것이 코딩 테스트다 with 파이썬' 책을 참고하여 작성하였습니다.

https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC