[문제 내용]
문자열 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 _ in range(T): # T번 반복 진행
R, S = input().split() # 반복할 횟수(R)와 문자열(S)를 입력 받기
R = int(R) # R을 숫자로 바꾼다
result = "" # 결과를 저장할 빈 문자열을 준비한다
for char in S: # 문자열 S에서 한 글자씩 가져온다
result += char * R # 글자를 R번 반복해서 result에 추가한다
print(result) # 결과를 출력한다
솔직히 어떻게 풀어야 할 지 감이 안 잡혀서 필요한 부분만 하드 코딩했는데 실패했다. 전체적으로 보았을 때 정답의 풀이는 다음과 같다. 1. 입력 받기 - 2. 빈 문자열 생성 - 3. 문자열에서 한 글자씩 반복 후 추가.
처음에는 어렵게 느껴졌는데 막상 보니까 그렇게 어렵지 않았던 거 같다. 아직 알고리즘 관련 지식이 너무 부족한 거 같아 아쉽다.
for _ in range()
에서 _
의 의미는 변수를 사용하지 않겠다는 뜻이다. 관례적인 변수명이며, 결국 루프를 n번 반복하지만 반복 변수는 사용하지 않겠다는 것을 말한다.
input()
을 통해 받아온 값은 문자열 형태로 저장된다.