Python/백준

# 🔁 백준 2675 - '문자열 반복' 문제 풀이 가이드#Python

고발초이이 2024. 6. 9. 00:33
반응형
SMALL

🧩 문제 이해하기

상상해봐요! 여러분이 문자열 마법사가 되어 특별한 주문을 외우는 임무를 받았어요. 우리의 임무는:

  1. 주문의 횟수(테스트 케이스 수)를 정하기
  2. 각 주문마다 반복 횟수와 원래 문자열 받기
  3. 문자열의 각 글자를 정해진 횟수만큼 반복해서 새로운 주문 만들기
  4. 새로운 주문 외우기(출력하기)

🔧 필요한 파이썬 도구들

1. 📥 input() 함수

마법 재료(입력)를 받아오는 도구예요.

spell = input("주문을 입력하세요: ")

2. 🔁 for 반복문

같은 마법을 여러 번 반복할 때 사용해요.

for letter in "abracadabra":
    print(letter)

3. ✖️ 문자열 곱하기

문자열을 특정 횟수만큼 반복하는 마법이에요.

print("ha" * 3)  # 결과: hahaha

🚀 문제 해결 단계

  1. 주문의 횟수(테스트 케이스 수) 입력받기
  2. 각 주문마다 반복 횟수와 원래 문자열 입력받기
  3. 새로운 주문 만들기 (각 글자 반복)
  4. 새로운 주문 외우기 (출력하기)

💻 파이썬 코드로 구현하기

# 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)

🧠 코드 설명

  1. n = int(input()): 몇 번의 주문을 외울지 정해요.
  2. for _ in range(n):: 정해진 횟수만큼 주문을 반복해요.
  3. r, s = input().split(): 반복 횟수와 원래 주문을 받아와요.
  4. r = int(r): 반복 횟수를 숫자로 바꿔요.
  5. new_spell = ''.join([char * r for char in s]): 새로운 주문을 만들어요.
    • char * r: 각 글자를 r번 반복해요.
    • [... for char in s]: s의 모든 글자에 대해 이 작업을 해요.
    • ''.join(...): 모든 반복된 글자를 하나로 합쳐요.
  6. print(new_spell): 새로운 주문을 외워요(출력해요).

🌟 예제로 이해하기

입력 예시:

2
3 ABC
5 /HTP

과정 설명:

  1. 2번의 주문을 외울 거예요.
  2. 첫 번째 주문:
    • 반복 횟수: 3
    • 원래 주문: "ABC"
    • 새로운 주문: "AAABBBCCC"
  3. 두 번째 주문:
    • 반복 횟수: 5
    • 원래 주문: "/HTP"
    • 새로운 주문: "/////HHHHHTTTTTPPPPP"

출력 예시:

AAABBBCCC
/////HHHHHTTTTTPPPPP

💡 팁

  • split() 함수는 공백을 기준으로 문자열을 나눠요.
  • 리스트 컴프리헨션 [char * r for char in s]을 사용하면 코드를 간결하게 만들 수 있어요.
  • ''.join()은 리스트의 모든 문자열을 하나로 합치는 마법이에요.

🎉 마무리

이렇게 하면 어떤 주문이 주어져도 쉽게 반복할 수 있어요!
이 문제를 통해 문자열 다루기, 반복문 사용, 그리고 리스트 컴프리헨션을 배웠네요.
이제 여러분은 진정한 문자열 마법사가 되었어요! 어떤 복잡한 주문도 쉽게 외울 수 있겠죠! 🧙‍♂️✨

반응형
LIST