1946. 간단한 압축 풀기

JeanDeluge·2023년 3월 1일

SWEA

목록 보기
5/8

풀이과정

처음에는 문자를 한줄에 10개씩 넣어서 풀어보자고 했었는데, stack overflow가 자주 발생하고,
느려서 다시 풀었다. 실수로 새로고침하는 바람에 오답풀이를 날렸다 ㅠㅠ

모든 문자를 한 문자열로 만든 다음에, 10번째에 하나씩 끊어서 프린트해본다고 생각했다.

    input_type_num = int(input())
    input_values = {}
    #모든 앞축을 한 줄에 다 넣는다
    # 10번째에 끊어 표시하기로한다.
    answer = ""
    for num in range(0, input_type_num) :
        key, value = input().split()
        answer = answer + key * int(value)
        
    count = 0
    
    print("#{}".format(test_case))
    for char in answer:
        if count % 10 == 0 and count != 0:
            count += 1
            print("", end="\n")
            print(char, end="")
        else:
            print(char, end="")
            count += 1
            
    print("")

다음은 위의 조잡한 프린트 내용을 좀 더 깔끔하게 만들려고 했다.

    input_type_num = int(input())
    input_values = {}
    #모든 앞축을 한 줄에 다 넣는다
    # 10번째에 끊어 표시하기로한다.
    answer = ""
    for num in range(0, input_type_num) :
        key, value = input().split()
        answer = answer + key * int(value)
        
    count = 0
    
    print("#{}".format(test_case))
    for i in range(0, len(answer) ,10):
        print(answer[i:i+10])

리뷰

풀이 시간은 총 59분
처음 오답에서 한 47분 썼다.
문제를 좀 더 단순하게 생각하도록 해야 빨리 풀 것 같다.

0개의 댓글