728x90
SWEA[D2] 1946. 간단한 압축 풀기 python 풀이입니다.
(사실 하나도 안 간단해요ㅠ)
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
오늘의 에러 포인트
값을 매 테스트 케이스마다 초기화 시켜줘야 하는데 for문 바깥에 적어서 초기화가 안 된 상태로 계속 for문이 진행되어 결과 값이 이상해졌다. 앞으로는 매 케이스마다 초기화 되어야 하는 값이 반복문 안에 잘 들어가 있는지 확인하자.
최종 제출한 코드
함수를 만들면 코드의 길이를 더 줄일 수 있을 것 같다.
T = int(input())
for i in range(T):
result = ''
tot_len = 0
N = int(input())
for j in range(N):
char_num = input()
a = char_num.split(' ')
length = int(a[1])
tot_len += length
result += a[0] * length
left = tot_len % 10
line_num = tot_len // 10
index = 0
tag = str(i + 1)
print("#" + tag)
if left == 0:
for m in range(line_num):
print(result[index: index + 10])
index += 10
else:
for n in range(line_num):
print(result[index: index + 10])
index += 10
print(result[-left:])
함수로 만들어서 코드 수를 줄여보았다. 시간이 조금 더 걸린다.
def printer(r, num):
index = 0
for m in range(num):
print(r[index: index + 10])
index += 10
T = int(input())
for i in range(T):
result = ''
tot_len = 0
N = int(input())
for j in range(N):
char_num = input()
a = char_num.split(' ')
length = int(a[1])
tot_len += length
result += a[0] * length
left = tot_len % 10
line_num = tot_len // 10
print("#" + str(i + 1))
if left == 0:
printer(result, line_num)
else:
printer(result, line_num)
print(result[-left:])
728x90
'SWEA 문제 풀이' 카테고리의 다른 글
| SWEA[D1] (Python) 1936번 1대1 가위바위보 멋진 풀이 (0) | 2022.07.15 |
|---|---|
| SWEA[D2] 1946. 간단한 압축 풀기 python 멋진 풀이 (0) | 2022.07.15 |
| SWEA[D2] 1989 python 초심자의 회문 검사 풀이 (0) | 2022.07.11 |
| SWEA [D1] (python) 2058. 자릿수 더하기 풀이 (0) | 2022.07.05 |
| SWEA[D1] (Python) 2063번 중간값 찾기 풀이 (0) | 2022.07.05 |