Notice
Recent Posts
Recent Comments
Link
Love Every Moment
〔백준/파이썬〕2675번 문자열 반복 본문
반응형
출처
문제
문자열 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)
- 빈 문자열 '' 을 생성한 다음 + 연산자를 이용해서 문자열을 병합하는 방식이다
- 원리는 위의 풀이와 같지만 리스트 생성 없이 정답 문자열을 만들어낸다는 것이 장점
반응형
'PROGRAMMING::LANGUAGE > Python' 카테고리의 다른 글
〔백준/파이썬〕1931번 회의실 배정 (0) | 2022.06.26 |
---|---|
〔백준/파이썬〕1157번 단어 공부 (0) | 2022.06.25 |
〔백준/파이썬〕10809번 알파벳 찾기 (0) | 2022.06.24 |
〔모두를 위한 파이썬〕튜플, 가장 빈도가 높은 단어 찾기 (0) | 2022.06.24 |
〔모두를 위한 파이썬〕딕셔너리, 데이터 빈도수 측정하기 (0) | 2022.06.24 |
Comments