반응형
안녕하세요.
이번 포스팅은 SWEA의 1946번 문제 풀이입니다.
문제 이름은 "간단한 압축 풀기" 입니다.
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
T = int(input())
for tc in range(T):
N = int(input())
result = []
cout = 1
for i in range(N):
s, num = input().split()
num = int(num)
for j in range(num):
result.append(s)
print('#%d' %(tc+1))
for i in result:
if cout % 10 != 0:
print(i, end='')
else:
print(i)
cout +=1
print()
|
cs |
핵심: 빈 리스트에 입력된 문자를 해당 횟수만큼 반복해서 추가합니다.
1. 테스트 개수 T를 입력 받습니다.
2. for 문을 사용해서 테스트 개수만큼 반복합니다.
3. 숫자 N을 입력 받습니다.
4. 빈 리스트를 선언합니다.
5. 출력 시 너비를 카운트할 변수를 선언합니다.
6. 숫자 쌍의 개수 N 만큼 반복합니다.
7. 출력할 문자와 문자의 개수를 입력 받습니다.
8. 정수형으로 문자의 개수를 변환합니다.
9~10. 문자의 개수 만큼 결과 리스트에 추가합니다.
11. 먼저 테스트의 개수를 출력합니다.
12~17. 결과 리스트를 탐색하면서 10줄일 경우 줄 바꿈을 출력합니다.
13. 출력 양식에 맞게 개행 해줍니다.
댓글