코딩테스트 연습

[백준] 2675번 - 문자열 반복 (PYTHON)

zzzin 2022. 12. 12. 00:44

먼저 추가로 입력받을 케이스의 수 n을 입력 받은 후, n개의 케이스를 각각 입력받아 계산값을 출력하는 문제이다.

각 케이스의 입력값은 "반복할횟수 반복할문자열" 의 모양으로 입력받는다.(두 값은 띄어쓰기로 구분)

 

 

풀이는 다음과 같다.

t = input()
cases = list()

for i in range(int(t)):
  cases.append(input()) # 입력받은 케이스 수만큼 입력받은 값 리스트 담기

for lst in cases: # 각 케이스에서 반복횟수 / 반복할문자 분리
  num = lst.split(' ')[0] 
  str = lst.split(' ')[1]
  
  result = ''
  for item in list(str): 
    result += item*int(num) # 각 문자열 반복횟수만큼 반복해서 붙이기
  
  print(result)

이 풀이는 모든 케이스를 다 입력받은 후 문자열반복 작업을 시작하고, 마지막에 한번에 모든 값을 출력하는 방식이다.

 

 

그리고 다른 분들의 풀이를 참고해서 작성한 다른 풀이이다.

t = input()

for i in range(int(t)):
  num, str = input().split(' ') # 반복횟수 / 반복할문자열로 바로 분리해서 저장
  
  result = ''
  for item in str:
    result += item*int(num)
  
  print(result)

이 방식은 각 케이스를 입력받자마자 바로 반복문자열을 생성하여 출력하고, 다음 케이스를 입력받는 방식이다.