개요
문자열 s와 너비 w가 주어졌을 때, 이 텍스트를 지정된 너비 w를 가진 단락 형태로 줄바꿈(래핑)해야 하는 경우가 있습니다. 이런 작업은 파이썬의 textwrap 라이브러리에 포함된 fill() 함수를 사용하면 아주 간단하게 처리할 수 있습니다. 따라서 가장 먼저 textwrap 라이브러리를 임포트해야 합니다.
예를 들어 입력이 다음과 같다고 가정해 보겠습니다.
- s = "The quick brown fox jumps over the lazy dog"
- w = 9
이 경우 출력 결과는 다음과 같습니다.
The quick
brown fox
jumps
over the
lazy dog
해결 접근 방법
이 문제는 다음 단계를 통해 해결할 수 있습니다.
- 문자열을 변수 s에 저장합니다.
- 너비 값을 변수 w에 저장합니다.
textwrap.fill(s, w)를 호출하며, 첫 번째 인수로 s를, 두 번째 인수로 w를 전달합니다.
fill() 함수는 입력 문자열을 지정된 너비를 초과하지 않도록 적절한 위치에서 줄바꿈하여 하나의 문자열로 반환합니다. 단어 중간에서 잘리지 않고 공백을 기준으로 줄바꿈이 이루어진다는 점이 특징입니다.
예제 코드
아래 구현 예시를 통해 더 자세히 이해해 보겠습니다.
import textwrap
def solve(s, w):
return textwrap.fill(s, w)
s = "The quick brown fox jumps over the lazy dog"
w = 9
print(solve(s, w))
입력
"The quick brown fox jumps over the lazy dog", 9
출력
The quick
brown fox
jumps
over the
lazy dog
마무리
이처럼 textwrap.fill() 함수를 활용하면 별도의 복잡한 로직 없이도 텍스트를 원하는 너비에 맞춰 손쉽게 줄바꿈할 수 있습니다. 콘솔 출력 정렬, 리포트 작성, CLI 도구 개발 등 다양한 상황에서 유용하게 사용할 수 있는 기능이므로 꼭 기억해 두시기 바랍니다.