입력받은 문자열과 숫자를 이용해 문자열을 숫자만큼 반복하여 출력하는 문제
문제
구현
text, num = map(str, input().split())
print(text * int(num))
Python
복사
보충설명
문자열 반복 출력 방식
1. 문자열 곱셈 연산
•
특징: 문자열에 정수를 곱하면 해당 문자열이 정수 값만큼 반복된다.
•
장점: 간단하고 직관적이다.
text = "Hello "
print(text * 3) # 출력: Hello Hello Hello
Python
복사
2. for 루프
•
특징: 반복문을 사용하여 문자열을 여러 번 출력한다.
•
장점: 각 반복에서 추가 처리가 가능하다.
•
단점: 코드가 길어질 수 있다.
text = "Hello"
for _ in range(3):
print(text, end=" ") # 출력: Hello Hello Hello
Python
복사
3. join 메서드
•
특징: 문자열을 리스트로 만들어 join 메서드로 반복된 문자열을 연결한다.
•
장점: 구분자를 추가할 수 있다.
text = "Hello"
print(", ".join([text] * 3)) # 출력: Hello, Hello, Hello
Python
복사
4. 리스트 컴프리헨션
•
특징: 리스트 컴프리헨션을 사용하여 문자열을 반복적으로 생성하고, 이를 연결한다.
•
장점: 구분자와 반복을 동시에 처리한다.
text = "Hello"
print(" ".join([text for _ in range(3)])) # 출력: Hello Hello Hello
Python
복사
5. itertools.repeat
•
특징: itertools.repeat를 사용해 문자열을 반복적으로 생성할 수 있다.
•
장점: 무한 반복이나 특정 횟수 반복 처리에 적합하다.
from itertools import repeat
text = "Hello"
for word in repeat(text, 3):
print(word, end=" ") # 출력: Hello Hello Hello
Python
복사
출력 방식 비교
방식 | 장점 | 단점 |
문자열 곱셈 (*) | 간단하고 직관적 | 구분자 삽입 불가능 |
for 루프 | 반복마다 추가 작업 가능 | 코드가 길어질 수 있음 |
join 메서드 | 구분자를 사용해 문자열 연결 가능 | 리스트 생성 필요 |
리스트 컴프리헨션 | 반복과 구분자 연결을 동시에 처리 | 리스트 생성 비용 발생 |
itertools | 무한 반복 등 고급 기능 제공 | 추가 라이브러리 필요 |
추천 방식
1.
간단한 반복 출력: 문자열 곱셈(*) 방식이 가장 적합
2.
구분자를 추가하고 싶다면: join() 메서드를 사용
3.
반복마다 추가 처리가 필요하다면: for 루프를 사용
4.
특수한 반복 조건이 필요하다면: itertools를 고려
Related Posts
Search