문제
문자열 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):
N,S = input().split()
output=""
for i in S:
output+=i*int(N)
print(output)
관련 개념 정리
input
파이썬에서는 값을 사용자로부터 입력받을때 input함수를 사용합니다.
입력받은 값을 넣을 변수 이름 = input("띄울 메세지")
단! input함수는 입력받은 모든 내용을 문자열로 인식합니다. 따라서 입력받은 내용을 정수로 변환하려면
d = int(input())
와 같은 형태로 작성하거나, 나중에 변수를 사용할때
print(int(d)+2)
와 같이 int()로 감싸서 작성할 수 있습니다.
for문
특정 코드들을 원하는 횟수 만큼 반복 시킬 때 사용하는것이 for문입니다.
for문의 기본 구조는 아래와 같습니다.
for i in 리스트(or 문자열, 튜플):
실행할 코드
리스트,문자열,튜플의 첫 글자나 요소부터 마지막 글자나 요소까지 차례대로 변수에 대입됩니다.
for문의 범위와 변수값을 숫자로 정하고 싶을때는 아래와 같이 range함수를 사용합니다.
for i in range(시작숫자,종료숫자,step):
실행할 코드
step은 얼만큼씩 변수를 증가 시킬지 정하는 것 입니다.
시작숫자와 step은 생략되어도 됩니다.
i를 사용하지 않고 코드를 반복만 하고 싶은 경우, i자리를 _(언더바)로 대체해서 사용합니다.
split
또한 값을 입력받을 때, 한 번에 여러 값을 입력받을 수 있습니다.
그때 사용할 수 있는 함수가 바로 split 함수입니다.
split할 변수 이름.split('구분자')
만약 split()일 경우, space, tap, enter와 같은 공백을 기준으로 문자열을 나눕니다.
산술 연산자
x+y | x 더하기 y |
x-y | x 빼기 y |
x*y | x 곱하기 y |
x/y | x 나누기 y |
x//y | x 나누기 y의 몫 |
x%y | x 나누기 y의 나머지 |
x**y | x의 y제곱 |
'코딩공부 > 알고리즘' 카테고리의 다른 글
[파이썬 풀이] 백준 1152.단어의 개수 (0) | 2021.12.01 |
---|---|
[파이썬 풀이] 백준 1157.단어 공부 (0) | 2021.12.01 |
[파이썬 풀이] 백준 10809.알파벳 찾기 (0) | 2021.11.29 |
[파이썬 풀이] 백준 11720.숫자의 합 (0) | 2021.11.29 |
[파이썬 풀이] 백준 11654.아스키 코드 (0) | 2021.11.29 |