컴공생의 다이어리
[파이썬, Python] 백준 1474번 : 밑 줄 본문
백준 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
반응형
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[알고리즘] 다익스트라(Dijkstra) (0) | 2022.06.02 |
---|---|
[파이썬, Python] 백준 14676번 : 영우는 사기꾼? (0) | 2022.05.29 |
[파이썬, Python] 백준 1005번 : ACM Craft (0) | 2022.05.20 |
[파이썬, Python] 백준 1715번 : 카드 정렬하기 (0) | 2022.05.19 |
[파이썬, Python] 백준 1717번 : 집합의 표현 (0) | 2022.05.18 |
Comments