박스에 넣을 수있는 문자열이 있으면 박스를 토글하십시오. 이것은 테스트 사례와 설명에서 더 명확 해집니다.
입출력
입력 형식
입력은 CR, LF 또는 CRLF로 구분 된 단일 문자열이거나 문자열 목록입니다. 입력 형식은 사용자가 결정해야합니다.
출력 형식
출력 형식은 입력 형식과 같아야합니다.
설명 + 예
박스형 문자열을 예로 들어 보겠습니다.
+-------------+
|Hello, World!|
+-------------+
상자를 토글하기 위해 첫 번째와 마지막 행과 첫 번째와 마지막 열을 제거합니다. 마지막 줄 뒤에 후행 공백이없고 (마지막 줄 끝에 선택적인 후행 줄 바꿈이 없음) 어떤 줄에도 후행 공백이 없다고 가정 할 수 있습니다 (물론 줄 바꿈은 제외).
이것은 다음과 같습니다.
Hello, World!
다른 방법
문자열이 상자에 없으면 상자를 추가하십시오. 이것은 매우 간단합니다. 가장 긴 줄의 길이 인 대시 +---...---+
를 사용하여 자체 줄 앞에 추가 한 다음 각 줄에 대해 가장 긴 줄의 길이와 일치하도록 후행 공백으로 채운 다음 파이프 문자 ( ) 를 앞에 추가하고 추가하십시오 . 마지막으로 첫 번째 줄 과 동일한 설정을 포함하는 줄을 추가하십시오 .k
k
"|"
+---...---+
예를 들면 다음과 같습니다.
Hello, World!
된다 :
+-------------+
|Hello, World!|
+-------------+
입력의 어떤 라인도 후행 공백이 없을 것이라고 가정 할 수 있습니다.
상자 주위에 상자가 있어야하는 또 다른 문자열 예 :
Hello,
World!
된다
+----------+
|Hello, |
| World!|
+----------+
여전히 박스에 넣어야 할 것의 예 :
+--------+
| |
--------+
된다 :
+----------+
|+--------+|
|| ||
| --------+|
+----------+
규칙 + 사양
- 표준 허점 적용
- 박스 입력 여부에 관계없이 입력 라인에는 전체 및 각 라인에 선행 또는 후행 공백이 없습니다.
- 상자는
+
모서리와|
세로 가장자리 및-
가로 에만 사용할 수 있습니다 . - 상자는 상자로 간주 될 수있는 플러스가 있어야합니다. 높이 또는 너비가 2 인 경우 (즉, 내용이없는 경우) 여전히 상자를 해제해야 상자의 높이에 따라 줄 바꿈이 발생합니다.
- 입력에 상자가 있지만 상자 외부에 텍스트가 있으면 모든 것이 상자에 있어야합니다.
- 프로그램은 문자열의 전체 둘레를 확인해야합니다. 외부를 따라 하나의 문자가 정확하지 않은 경우 (없거나 다른 문자가 있어야 함) 상자가 아닌 상자에 넣어야합니다.
- 상자에 넣지 않은 문자열 자체에는가 포함될 수 있습니다
+ | -
. 박스가없는 문자열 자체 주위에 상자가 있으면 상자와 함께 문자열을 반환하십시오. 상자를 한 번만 개봉해야합니다.
가장자리 케이스
1 : 작은 상자
입력:
++
++
출력이 비어 있거나 줄 바꿈
입력:
+----+
+----+
출력이 비어 있거나 줄 바꿈
입력:
++
||
||
++
출력은 개행 2 개 또는 개행 3 개입니다.
2 : 부분 상자
입력:
+-------+
| Hello |
+ ------+
산출:
+---------+
|+-------+|
|| Hello ||
|+ ------+|
+---------+
3 : 상자 외부의 텍스트
입력:
+-------+
a| Hello |
+-------+
산출:
+----------+
| +-------+|
|a| Hello ||
| +-------+|
+----------+