PROGRAMMING::LANGUAGE/Python
〔백준/파이썬〕2675번 문자열 반복
해 송
2022. 6. 24. 20:53
반응형
출처
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
문제
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
예제
# 입력
2
3 ABC
5 /HTP
# 출력
AAABBBCCC
/////HHHHHTTTTTPPPPP
풀이 - (1)
# 전체 케이스 개수
cnt = int(input())
# R = 반복 횟수, S = 문자열
for i in range(cnt) :
R, S = input().split()
# 각 문자 * R 만큼 리스트에 추가
result = list()
for letter in S :
for repeat in range(int(R)) :
result.append(letter)
# 리스트를 문자열로 변환
string = ''.join(result)
print(string)
- 먼저 리스트를 만든 다음에 ''.join 을 이용해서 문자열로 변환하는 방식이다
- 하지만 아래 풀이에서처럼 아예 처음부터 리스트 없이 정답을 만드는 방식도 있다
풀이 - (2)
# 전체 케이스 개수
cnt = int(input())
# R = 반복 횟수, S = 문자열
for i in range(cnt) :
R, S = input().split()
# 빈 문자열을 생성하여 각 문자 * R 만큼씩 병합
result = ''
for letter in S :
result += letter * int(R)
print(result)
- 빈 문자열 '' 을 생성한 다음 + 연산자를 이용해서 문자열을 병합하는 방식이다
- 원리는 위의 풀이와 같지만 리스트 생성 없이 정답 문자열을 만들어낸다는 것이 장점
반응형