문제
문자열 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. 문자열 S를 입력 받은 후
2. 각 문자를 R번 반복하여
3. 새 문자열 P를 만들어 출력
test = int(input())
for _ in range (test):
R, S=input().split()
R=int(R)
for i in range(len(S)):
print(R*S[i], end='')
print()
코드를 풀어서 해석해보자
우선,
test=int(input())을 통해 test 값을 입력 받을 것이다.
이 test 값은 T개의 테스트 값을 정해줄 것이다.
for _ in range (test): 입력받은 test 값 만큼 for문을 반복해줄것이다.
R, S=input().split()
R=int(R) 문자열 S와 반복횟수 R을 split으로 입력받은 후, 반복 횟수 R만 정수형으로 변환시켜준다.
그리고
for i in range(len(S)):
print(R*S[i], end=' ') 다시 for 문을 반복해준다. 이번에는 문자열의 길이만큼인 len(S)만큼 반복해준다.
어떤 문장을 반복하나? R*S[i] 를 프린트 하는 문장을 반복한다.
이 때 1회 반복 마다 i 는 1 ++ 되며, S 문자열의 [i] 번째 문자를 R번 반복하며 print 하게 된다.
근데!!, end (그 뒷 부분) 에는, ' ___' 공백이 자리하는 문자열을 반복하게 되는 것이다.
'ALGORITHM' 카테고리의 다른 글
알고리즘 스터디, 03: 백준 1475번, 방 번호 [PYTHON][파이썬] (0) | 2022.09.28 |
---|---|
알고리즘 스터디, 02: 백준 1764번, 듣보잡 [PYTHON][파이썬] (0) | 2022.09.27 |
알고리즘 스터디, 02: 백준 10250번, ACM 호텔 [PYTHON][파이썬] (1) | 2022.09.26 |
알고리즘 스터디, 01: 백준 2455번, 지능형 기차 [PYTHON][파이썬] (0) | 2022.09.20 |
알고리즘 스터디, 01-번외: 백준 1712번, map(int,input().split()) 에 관하여[PYTHON][파이썬] (0) | 2022.09.19 |