티스토리 뷰

문제

: 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.

 

입출력 규칙

1. 입력

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 

2. 출력

각 테스트 케이스에 대해 P를 출력한다.

 


문제 풀이

<내 풀이>

 

이중 for문을 사용하여, 입력받은 문자열의 한 문자씩 r을 곱하여 출력하였다.

for _ in range(int(input())):
    r, s = input().split()
    for i in s:
        print(i*int(r), end='')
    print()

 

+ 참고

end 옵션: 뒤의 출력값과 이어서 출력한다. (즉, 줄바꿈을 하지 않게 된다)

print("Hello",end='')
print("Life4AI")

# HelloLife4AI

 

<숏 코딩>

 

1. join() 함수를 사용하여, 내 풀이의 for 문을 한줄로 줄였다.  [join() 더 알아보기]

for _ in range(int(input())):
    r, s = input().split()
    print(''.join(c*int(r) for c in s))

 

2. exec() 함수를 사용하여, 아예 한줄로 해결하였다. [exec() 더 알아보기]

exec("r,s = input().split();print(''.join(c*int(r) for c in s));"*int(input()))

 

exec()은 문자열 문을 받아 실행하는 함수이다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함