Python/백준
# 🔁 백준 2675 - '문자열 반복' 문제 풀이 가이드#Python
고발초이이
2024. 6. 9. 00:33
반응형
SMALL
🧩 문제 이해하기
상상해봐요! 여러분이 문자열 마법사가 되어 특별한 주문을 외우는 임무를 받았어요. 우리의 임무는:
- 주문의 횟수(테스트 케이스 수)를 정하기
- 각 주문마다 반복 횟수와 원래 문자열 받기
- 문자열의 각 글자를 정해진 횟수만큼 반복해서 새로운 주문 만들기
- 새로운 주문 외우기(출력하기)
🔧 필요한 파이썬 도구들
1. 📥 input() 함수
마법 재료(입력)를 받아오는 도구예요.
spell = input("주문을 입력하세요: ")
2. 🔁 for 반복문
같은 마법을 여러 번 반복할 때 사용해요.
for letter in "abracadabra":
print(letter)
3. ✖️ 문자열 곱하기
문자열을 특정 횟수만큼 반복하는 마법이에요.
print("ha" * 3) # 결과: hahaha
🚀 문제 해결 단계
- 주문의 횟수(테스트 케이스 수) 입력받기
- 각 주문마다 반복 횟수와 원래 문자열 입력받기
- 새로운 주문 만들기 (각 글자 반복)
- 새로운 주문 외우기 (출력하기)
💻 파이썬 코드로 구현하기
# 1. 주문의 횟수 입력받기
n = int(input())
# 2 & 3 & 4. 각 주문 처리하기
for _ in range(n):
r, s = input().split()
r = int(r)
new_spell = ''.join([char * r for char in s])
print(new_spell)
🧠 코드 설명
n = int(input())
: 몇 번의 주문을 외울지 정해요.for _ in range(n):
: 정해진 횟수만큼 주문을 반복해요.r, s = input().split()
: 반복 횟수와 원래 주문을 받아와요.r = int(r)
: 반복 횟수를 숫자로 바꿔요.new_spell = ''.join([char * r for char in s])
: 새로운 주문을 만들어요.char * r
: 각 글자를 r번 반복해요.[... for char in s]
: s의 모든 글자에 대해 이 작업을 해요.''.join(...)
: 모든 반복된 글자를 하나로 합쳐요.
print(new_spell)
: 새로운 주문을 외워요(출력해요).
🌟 예제로 이해하기
입력 예시:
2
3 ABC
5 /HTP
과정 설명:
- 2번의 주문을 외울 거예요.
- 첫 번째 주문:
- 반복 횟수: 3
- 원래 주문: "ABC"
- 새로운 주문: "AAABBBCCC"
- 두 번째 주문:
- 반복 횟수: 5
- 원래 주문: "/HTP"
- 새로운 주문: "/////HHHHHTTTTTPPPPP"
출력 예시:
AAABBBCCC
/////HHHHHTTTTTPPPPP
💡 팁
split()
함수는 공백을 기준으로 문자열을 나눠요.- 리스트 컴프리헨션
[char * r for char in s]
을 사용하면 코드를 간결하게 만들 수 있어요. ''.join()
은 리스트의 모든 문자열을 하나로 합치는 마법이에요.
🎉 마무리
이렇게 하면 어떤 주문이 주어져도 쉽게 반복할 수 있어요!
이 문제를 통해 문자열 다루기, 반복문 사용, 그리고 리스트 컴프리헨션을 배웠네요.
이제 여러분은 진정한 문자열 마법사가 되었어요! 어떤 복잡한 주문도 쉽게 외울 수 있겠죠! 🧙♂️✨
반응형
LIST