Given a width and a block of
text containing possible hyphen-
ation points, format it fully-
justified (in monospace).
완전 정렬은 왼쪽 과 오른쪽 에 정렬되며 각 줄에 맞을 때까지 단어 사이의 간격을 늘림으로써 달성됩니다.
관련 :
- 공백을 추가하여 텍스트를 정렬
- 텍스트를 블록에 정렬
- 그리고 이것은 텍스트 처리 # 1 : 하이픈 넣기 (포스팅되지 않은 것) 의 다음 단계로 간주 될 수 있습니다 .
입력
원하는 형식으로 입력 할 수 있습니다. 당신은 주어질 것입니다 :
- 5-100 (포함) 범위의 대상 너비 (문자)
- 하이픈으로 묶인 단어가 포함 된 텍스트 블록입니다. 공백으로 구분 된 문자열, 단어 배열 또는 단어 조각 배열 (또는 원하는 다른 데이터 표현) 일 수 있습니다.
일반적인 입력은 다음과 같습니다.
Width: 25
Text: There's no bu-si-ne-ss lik-e s-h-o-w busine-ss, n-o bus-iness I know.
하이픈은 가능한 하이픈 포인트를 나타내고 공백은 단어 경계를 나타냅니다. 텍스트의 가능한 대체 표현 :
[["There's"], ["no"], ["bu", "si", "ne", "ss"], ["lik", "e"], (etc.)]
산출
단어 사이에 공백이 추가 된 입력 텍스트, 열 너비의 줄 바꾸기 및 열 너비에 완전히 맞춰 지도록 하이픈 넣기 지점이 선택되었습니다. 함수의 경우, 줄 바꾸기를 사용하지 않고 문자열 배열 (각 줄에 하나씩)을 반환 할 수 있습니다.
위 입력에 대한 가능한 출력은 다음과 같습니다.
There's no business like
show business, no bus-
iness I know.
마지막 "bus-iness"에있는 하이픈을 제외한 모든 하이픈이 제거되었습니다.이 하이픈은 단어가 다음 줄로 줄 바꿈되어 두 번째 줄에 가능한 한 많은 텍스트가 포함되도록 선택되었습니다.
규칙
각 줄 내에서 단어 사이의 공백 수는 1을 초과 할 수 없지만 추가 공백을 삽입하는 위치는 사용자에게 달려 있습니다.
hello hi foo bar <-- not permitted (1,1,5) hello hi foo bar <-- not permitted (2,1,4) hello hi foo bar <-- OK (2,2,3) hello hi foo bar <-- OK (2,3,2) hello hi foo bar <-- OK (3,2,2)
어떤 줄도 공백으로 시작하거나 끝날 수 없습니다 (마지막 줄은 공백으로 끝날 수는 없습니다).
마지막 단어는 각 단어 사이에 단일 공백이 포함 된 자리를 유지해야합니다. 원하는 경우 임의의 공백 / 줄 바꿈이 올 수 있지만 필수는 아닙니다.
단어는 AZ, az, 0-9 및 간단한 구두점 (
.,'()&
)으로 구성됩니다.단어 조각이 대상 너비보다 길지 않을 것이라고 가정 할 수 있으며 규칙에 따라 항상 줄을 채울 수 있습니다 (즉, 각 줄에 최소 2 개의 단어 조각이 있거나 줄을 채우는 1 개의 단어 조각이 있음) 아주)
이전 줄의 단어 문자 수를 최대화하는 하이픈 넣기 지점을 선택해야합니다.
This is an input stri-ng with hyph-en-at-ion poi-nts. This is an input stri- <-- not permitted ng with hyphenation points. This is an input string with hyph- <-- not permitted enation points. This is an input string with hyphen- <-- OK ation points.
바이트 단위의 최단 코드 승리
예
Width: 20
Text: The q-uick brown fox ju-mp-s ove-r t-h-e lazy dog.
The quick brown fox
jumps over the lazy
dog.
Width: 32
Text: Given a width and a block of text cont-ain-ing pos-sible hyphen-ation points, for-mat it ful-ly-just-ified (in mono-space).
Given a width and a block of
text containing possible hyphen-
ation points, format it fully-
justified (in monospace).
Width: 80
Text: Pro-gram-ming Puz-zles & Code Golf is a ques-tion and ans-wer site for pro-gram-ming puz-zle enth-usi-asts and code golf-ers. It's built and run by you as part of the St-ack Exch-ange net-work of Q&A sites. With your help, we're work-ing to-g-et-her to build a lib-rary of pro-gram-ming puz-zles and their sol-ut-ions.
Programming Puzzles & Code Golf is a question and answer site for programming
puzzle enthusiasts and code golfers. It's built and run by you as part of the
Stack Exchange network of Q&A sites. With your help, we're working together to
build a library of programming puzzles and their solutions.
Width: 20
Text: Pro-gram-ming Puz-zles & Code Golf is a ques-tion and ans-wer site for pro-gram-ming puz-zle enth-usi-asts and code golf-ers. It's built and run by you as part of the St-ack Exch-ange net-work of Q&A sites. With your help, we're work-ing to-g-et-her to build a lib-rary of pro-gram-ming puz-zles and their sol-ut-ions.
Programming Puzzles
& Code Golf is a
question and answer
site for programming
puzzle enthusiasts
and code golfers.
It's built and run
by you as part of
the Stack Exchange
network of Q&A
sites. With your
help, we're working
together to build a
library of program-
ming puzzles and
their solutions.
Width: 5
Text: a b c d e f g h i j k l mm nn oo p-p qq rr ss t u vv ww x yy z
a b c
d e f
g h i
j k l
mm nn
oo pp
qq rr
ss t
u vv
ww x
yy z
Width: 10
Text: It's the bl-ack be-ast of Araghhhhh-hhh-h-hhh-h-h-h-hh!
It's the
black be-
ast of
Araghhhhh-
hhhhhhhhh-
hhh!
anybod-y
너비 7)로 끝날 수있는 경우 anybody
또는 anybod-\ny
?