코딩테스트/기초

백준 2675 문자열 반복 - python

math_tbro 2022. 1. 2. 18:47

출처 : https://www.acmicpc.net/problem/2675

 

풀이 : 

t = int(input())
for i in range(t):
    a = list(input().split())
    r = int(a[0])
    s = a[1]
    for j in s:
        print(j*r, end='')
    print('')

 

코드블럭진작 쓸걸.. 진짜 깔끔하당

 

확실히 나 같은 경우는 데이터 프레임을 보거나 데이터 구조를 보고 계속 변경하고 그 값을 찾는 직관적인 작업을 많이해서 나같은 경우는 리스트를 이용해서 많이 푸는 느낌이다.

 

1. t를 정수형으로 받아온다.

2. 그 다음 t만큼 테스트 해야하므로 a 라는 리스트로 받아온다.

3. 그리고 a는 정수와 반복해야하는 문자열을 나눠줘야 하므로 반복횟수를 r = int(a[0]) 으로 받아오고 문자열을 s = a[1] 로 받아왔다.

4. 이렇게 되면 s = ['a','b',c'] 이런 형태가 된다. 

5. 그런다음 for 문을 써서 A를 r번 곱해주고 공백없이 다음 B를 r번 곱해서 출력해주면 된다.

6. 마지막 저 print()가 진짜 짜증났는데 저 마지막 저런 표시를 안해주면 계속 공백없이 출력을 해서 예제 출력이 이상하게 된다.

그래서 저렇게 한 입력줄이 끝나면 넘어가겠다는 표시로 저렇게 해줬다.

 

# 다른풀이를 보니까 비슷하긴 한데 조금 배울점이 있었다.

a,b = input().split()

일단 이게 되는지 몰랐는데 된다...  ㄷ ㄷ

그 다음 

text = '' 이렇게 빈 문자열 공간을 만드는 것도 가능하다.

이렇게 하면 

for i in s:
	text += r * i
print(text)

이렇게 끝을 낼수 있다. ......

'AAA' + 'BBB' +'CCC' = 'AAABBBCCC' 이런느낌인것이다.

 

'코딩테스트 > 기초' 카테고리의 다른 글

백준 1152 단어의 개수  (0) 2022.01.02
백준 1157 단어공부 - python  (0) 2022.01.02
백준 10809 알파벳 찾기 - python  (0) 2022.01.02
백준 11720 숫자의 합 - python  (0) 2022.01.02
백준 11654 아스키코드  (0) 2022.01.02