728x90
https://www.acmicpc.net/problem/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를 출력한다.
코드 정답
t = int(input())
for i in range(t):
r, s = input().split()
text = ''
for i in s:
text += int(r) * i
print(text)
풀이
1행 : 문자를 입력받아 정수형으로 바꾼 후 t 에 저장한다.
2행 : i 가 0부터 t 의 값에 다다를 때까지 3행 ~ 7행을 반복한다.
3행 : 문자를 입력받는데 스페이스바(공백)을 통해 여러개를 받을 수 있다. 2개를 입력하였다면 각각 r 과 s 에 저장된다
4행 : text 라는 이름의 변수를 문자형으로 만든다.
5행 : i 의 값이 s 에 다다를 때까지 6행을 반복한다. (s의 경우 ABC 가 입력되었다면 총 3번 반복된다.)
6행 : text = text + (int(r) * i) 가 실행된다. 즉, r 에 입력된 횟수 만큼 i 에 저장된 문자가 반복된다.
7행 : text 에 저장된 값을 출력한다.
728x90