요청에서 마지막 줄에 관해 무엇을 말해야 하나요?
마지막 줄의 미사용 공간을 비용에 포함하는지 명시하세요. 예시 목표에서는 제외하므로 선호되는 줄바꿈이 달라질 수 있습니다. 이 선택이 중요한 작은 예시를 포함하고 실제 의도한 비용 규칙과 제안 출력을 비교하세요.
공백 없는 최대 100개 단어를 1부터 80코드 포인트인 줄로 나누고 마지막 줄을 제외한 남는 공간의 제곱합을 최소화합니다.
def wrap_words(words, width):
words = tuple(words)
if type(width) is not int or not 1 <= width <= 80 or len(words) > 100:
raise ValueError("wrap.limit")
if any(type(w) is not str or not w or len(w) > width or any(c.isspace() for c in w) for w in words):
raise ValueError("wrap.word")
n = len(words)
costs, ends = [0] * (n+1), [0] * n
for i in range(n-1, -1, -1):
used, best = 0, None
for j in range(i, n):
used += len(words[j]) + (j > i)
if used > width:
break
cost = 0 if j == n-1 else (width-used)**2 + costs[j+1]
if best is None or cost < best:
best, ends[i] = cost, j+1
costs[i] = best
lines, i = [], 0
while i < n:
lines.append(" ".join(words[i:ends[i]]))
i = ends[i]
return lines| 적용하기 전에 검토하세요 | 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요. |
|---|---|
| 모델 | 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다. |
| 프로젝트 | 빈 입력과 대안 줄바꿈을 시험하며 빈 단어나 너무 긴 단어를 거부하고 터미널 표시 폭을 측정한다고 주장하지 않습니다. |
def wrap_words(words, width):
words = tuple(words)
if type(width) is not int or not 1 <= width <= 80 or len(words) > 100:
raise ValueError("wrap.limit")
if any(type(w) is not str or not w or len(w) > width or any(c.isspace() for c in w) for w in words):
raise ValueError("wrap.word")
n = len(words)
costs, ends = [0] * (n+1), [0] * n
for i in range(n-1, -1, -1):
used, best = 0, None
for j in range(i, n):
used += len(words[j]) + (j > i)
if used > width:
break
cost = 0 if j == n-1 else (width-used)**2 + costs[j+1]
if best is None or cost < best:
best, ends[i] = cost, j+1
costs[i] = best
lines, i = [], 0
while i < n:
lines.append(" ".join(words[i:ends[i]]))
i = ends[i]
return linesLineCitrine은 연결한 AI 모델과 출력 형식 결정을 검토하는 개발자를 위한 Windows용 코딩 작업 공간입니다. 무엇이 더 나은 결과인지 명시하면 배치 요청을 더 쉽게 검토할 수 있습니다. 프로젝트 폴더를 열고 변경 요청 전에 포매터, 사용 코드, 대표 입력을 대화에 제공하세요.
한 예시는 마지막 줄을 별도로 처리하면서 미사용 공간의 제곱합을 최소화하는 일반 텍스트 줄바꿈을 요청합니다. 허용 단어, 너비 한계, 비용 규칙을 명시하세요. 모델에 이 목표를 기준으로 후보 줄바꿈을 비교하도록 요청하세요. 선택한 표현 범위를 넘어서는 동작을 제안이 조용히 약속하지 않도록 코드 포인트 길이와 표시 열 너비를 구분하세요.
경쟁하는 배치, 빈 입력, 허용 너비를 넘는 단어로 수정 제안을 검토하세요. 프로젝트 검사를 실행하고 선택한 작은 예시의 예상 비용을 계산하세요. 결과는 특정 글꼴에서 균형 있게 보이는 데 그치지 않고 단어를 보존하며 명시한 목표를 충족해야 합니다. 사용되는 형식에 추가 요구 사항이 있다면 그것도 포함하세요.
지원되는 OpenAI 호환 또는 Anthropic 엔드포인트가 LineCitrine의 모델 연결을 제공합니다. 제한 없는 AI 모델을 제공하는 경우 필요한 자격 증명으로 선택할 수 있습니다. 모델과 서버가 제한, 컨텍스트 한계, 도구 지원을 결정합니다. 배치 목표는 사용자가 정의하고 검증해야 하는 요구 사항입니다.
마지막 줄의 미사용 공간을 비용에 포함하는지 명시하세요. 예시 목표에서는 제외하므로 선호되는 줄바꿈이 달라질 수 있습니다. 이 선택이 중요한 작은 예시를 포함하고 실제 의도한 비용 규칙과 제안 출력을 비교하세요.
일반적으로는 불가능합니다. 결합 문자와 전각 문자는 코드 포인트 개수와 다르게 표시될 수 있습니다. 계약에 측정 방식을 명시하세요. 터미널 열이 중요하다면 별도 요구 사항으로 정의하고 실제 렌더링 환경에서 필요한 처리를 검토하세요.
줄바꿈 선택지가 몇 가지 있는 작은 입력을 사용하고 예상 비용을 독립적으로 계산하세요. 명시한 규칙에 따라 제안이 허용된 최솟값을 선택하는지 확인하세요. 그런 다음 더 넓은 프로젝트 테스트 데이터로 해당 예시 밖의 동작 변경을 살펴보세요.
포매터가 거부할지, 나눌지, 넘침을 허용할지 명시하세요. 예시는 허용 너비를 넘는 단어를 거부합니다. 배치 수정이 다른 콘텐츠 변환이나 오류 정책을 조용히 도입하지 않도록 해당 경로와 호출 코드를 검토하세요.
LineCitrine · 업데이트 2026-10-25