컴공생의 다이어리

[파이썬, Python] 백준 1474번 : 밑 줄 본문

Development/Algorithm & Coding Test

[파이썬, Python] 백준 1474번 : 밑 줄

컴공 K 2022. 5. 21. 00:01

백준 1474번 : 밑 줄

(문제 바로가기)

 

 

내 코드

import sys

input = sys.stdin.readline
n, m = map(int, input().split())
data = [input().rstrip() for _ in range(n)]
default_len, r = divmod(m - sum(map(len, data)), n - 1)
result = data[0]

for idx in range(1, n):
    if data[idx][0].islower() and r != 0:
        r -= 1
        result += '_' * (default_len + 1) + data[idx]
    elif idx + r == n:
        r -= 1
        result += '_' * (default_len + 1) + data[idx]
    else:
        result += '_' * default_len + data[idx]
print(result)

default_len에 저장되는 것은 각각 새로운 단어의 길이를 맞추기 위해 공통적으로 넣어야 하는 '_'의 수이고 r에 저장되는 것은 '_'의 개수를 똑같이 넣어서 새로운 단어의 길이를 맞추기 어려운 경우에 '_'를 1개 더 추가적으로 넣어줘야 하는 단어의 수이다.

728x90
Comments