본문 바로가기
I am a developer

백준 / Python / 2675 / 문자열 반복 / 문제풀이

by Echinacea 2023. 5. 3.
반응형

문제 설명

문제의 포인트

  • 테스트 케이스 갯수를 받아 해당 테스트 케이스만큼 입력받을 줄 알아야 한다
  • 문자열을 list로 인식하고 다룰 줄 알아야 한다
  • 즉, list 관련 함수를 다룰 줄 알아야 한다

문제 풀이 방법

  1. 첫 줄에 테스트 케이스의 갯수를 입력받아야 한다.

     T = int(input())
  2. 두 번째 줄엔 입력받은 테스트 케이스 갯수 ‘T’개 만큼 입력값을 받아야 하므로, for문으로 감싸준다.

     T = int(input())
     for i in range(T):
  3. for문을 돌리는 동안, [텍스트가 반복될 횟수, 반복될 텍스트]를 각각 A,B로 받는다

     T = int(input())
     for i in range(T):
         A,B = input().split()
  4. A, B가 입력되면 [반복될 텍스트*반복될 횟수]로 계산해 값을 도출한다. 이 때, 결과값이 여러 줄로 나뉘면 안 되기 때문에 sep과 end를 이용해 결과값을 한 줄로 정리해준다.

     T = int(input())
     for i in range(T):
         A,B = input().split()
         for i in range(len(B)):
                 print(B[i]*int(A), sep='', end='')
  5. 테스트케이스 한 번이 끝나면 다음 테스트케이스를 위해 입력받을 수 있도록 개행한다.

주의할 점

테스트 케이스 한 번을 받고 값이 나온 뒤, 개행을 해주지 않으면 입력 시 불편할 수 있다.

T = int(input())
for i in range(T):
    A,B = input().split()
    for i in range(len(B)):
        print(B[i]*int(A), sep='', end='')

----------------------------------console------------------------------------
2
3 ABC
AAABBBCCC5 /HTP
/////HHHHHTTTTTPPPPP%

이렇게 됨.

정답 코드

T = int(input())
for i in range(T):
    A,B = input().split()
    for i in range(len(B)):
        print(B[i]*int(A), sep='', end='')
    print()
반응형

댓글