https://www.acmicpc.net/problem/2675
문제
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
내 풀이 -비효율
n = int(input())
for _ in range(n):
a = list(input().split())
no = int(a[0])
str1 = list(a[1])
result = ''
i = 0
for i in range(len(str1)):
result += str1[i]*no
print(result)
해설
그냥 보이는 그대로.
정답 풀이
n = int(input())
for _ in range(n):
cnt, word = input().split()
for x in word:
print(x*int(cnt), end='') # end='' 옆으로 붙임
print() # 줄넘김
출처:https://ooyoung.tistory.com/69
해석
cnt, word = input.split() 같은 방법을 애용하자.
end=''을 사용할시 print가 계속 옆으로 붙는다는걸 알수있다.
이후 한칸 들여쓰기한 실행 문장에서 * 연산자를 이용하여 x변수를 입력받은 숫자 cnt 만큼 반복하도록 하였다. 출력 형태는 문자열을 옆으로 붙이면서 출력해야 하기 때문에 end 파라미터의 값에 빈 문자열인 따옴표''만 입력해서 문자열이 옆으로 붙어서 출력되도록 했다. 두 번째 for문이 모두 끝난 이후에는 빈 print 함수를 출력하였다.
print 함수에서 end 파라미터를 이용하지 않을 때는 줄 넘김 기능이 기본값이고 print 함수 안에서 출력할 값이 여러 개인 경우 공백으로 출력 값이 구분된다.
'sw사관학교 정글 2기 > 01 기초,재귀,완전탐색, 정렬' 카테고리의 다른 글
[기초-문자열] 백준 2908번 상수 with Python3 (0) | 2021.08.07 |
---|---|
[기초-문자열] 백준 1152번 단어의 개수 with Python3 (0) | 2021.08.07 |
[기초-함수] 백준 15596번 정수 N개의 합 with Python3 (0) | 2021.08.07 |
[기초-배열] 백준 2577번 숫자의 개수 with Python3 (0) | 2021.08.07 |
[기초-배열] ★백준 4344번 평균은 넘겠지 with Python3 (0) | 2021.08.07 |
댓글