본문 바로가기
[SWEA] 풀이/[SWEA] D2

[SWEA] SWEA 1946번: 간단한 압축 풀기 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 4. 16.
반응형

 

안녕하세요.

이번 포스팅은 SWEA의 1946 문제 풀이입니다.

문제 이름은 "간단한 압축 풀기" 입니다.

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
= 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. 출력 양식에 맞게 개행 해줍니다.

댓글