[Baekjoon/Python] 백준 온라인 저지 2675번 : 문자열 반복
https://www.acmicpc.net/problem/2675
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
문제 ::
문자열 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를 출력한다.
예제 입력 ::
2
3 ABC
5 /HTP
예제 출력 ::
AAABBBCCC
/////HHHHHTTTTTPPPPP
정답 코드 ::
t = int(input()) # 테스트 케이스 개수
for _ in range(t):
n, s = input().split()
for i in s:
print(int(n) * i, end = '')
print()
- 테스트 케이스 개수 t를 입력받는다.
- for문을 이용해 테스트 케이스 개수 만큼 반복 횟수 n, 문자열 s를 공백으로 구분하여 입력받는다.
- for문을 하나 더 만들어 입력한 문자열을 반복하여 돌려 반복 횟수만큼 곱해서 출력해준다. 반복 횟수는 int형으로 지정해주어 곱해준다. 파이썬 특성상 문자열에 정수를 곱하면 정수만큼 반복되는 새로운 문자열을 생성한다.
- end함수를 사용하는데 결과가 for문을 통해 자동적으로 줄바꿈을 하지않고 붙여서 출력하기 위해 end=''를 사용하고 빈 print()를 통해 줄을 넘긴다. 다음 입력값을 받아야 하므로.
'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
[Baekjoon/Python] 백준 1152 : 단어의 개수 (0) | 2021.03.17 |
---|---|
[Baekjoon/Python] 백준 1157 : 단어 공부 (0) | 2021.03.17 |
[Baekjoon/Python] 백준 10809 : 알파벳 찾기 (0) | 2021.03.15 |
[Baekjoon/Python] 백준 11720 : 숫자의 합 (0) | 2021.03.15 |
[Baekjoon/Python] 백준 11654 : 아스키 코드 (0) | 2021.03.15 |