같은 합리적인 편리한 형식으로 정수의 비어 있지 않은 목록에 걸리는 프로그램이나 기능을 작성 4, 0, -1, -6, 2
또는 [4 0 -1 -6 2]
.
각 숫자가 비례 높이의 트리가되는 ASCII 아트 포리스트로 목록을 나타내는 문자열을 인쇄하거나 반환합니다. 각 트리는 다음과 같이 출력에서 네 개의 텍스트 열을 차지합니다.
N 양의 정수는 그 기재되는 트리된다
__|_
및 상위 인^
의 N 층과,/ \
의 사이에있다.예를 들어 N = 1 인 경우 트리는
^ / \ __|_
N = 2 일 때 나무는
^ / \ / \ __|_
N = 3 일 때 나무는
^ / \ / \ / \ __|_
등등.
음수 정수 N은 세로 막대가 공백 대신 분기 슬래시 사이를 제외하고 해당하는 양수 트리와 같습니다.
예를 들어 N = -1 인 경우 트리는
^ /|\ __|_
N = -2 일 때 나무는
^ /|\ /|\ __|_
N = -3 일 때 나무는
^ /|\ /|\ /|\ __|_
등등.
정수가 0이면 기술적으로 나무가 없으며 밑줄이 4 개인 빈 공간입니다.
____
각 트리의 밑줄에있는 밑줄은 출력에 정렬되어야합니다. 즉, 모든 트리의베이스가 같은 수준이어야합니다. 또한 마지막 트리 이후에 밑줄 줄 끝에 단일 밑줄이 추가됩니다. 이것은 모든 나무가 양쪽에 "공기"의 빈 기둥을 갖도록합니다.
예를 들어 출력 4 0 -1 -6 2
은 다음과 같습니다.
^
/|\
^ /|\
/ \ /|\
/ \ /|\ ^
/ \ ^ /|\ / \
/ \ /|\ /|\ / \
__|_______|___|___|__
트리 패턴에는 항상 빈 공간의 맨 앞에 열이 있지만 마지막 트리의 오른쪽을 채우려면 밑줄을 추가해야합니다.
또한:
- 모든 줄의 후행 공백은 괜찮지 만 불필요한 선행 공백은 없어야합니다.
- 선행 줄 바꿈은 허용되지 않으며 (가장 큰 트리는 출력 텍스트 그리드의 맨 위에 닿아 야합니다) 최대 한 줄의 마지막 줄 바꿈 만 허용됩니다.
- 이 목록에는 -250에서 250까지의 정수가 포함될 수 있습니다. 키가 큰 나무를 다룰 필요는 없습니다.
바이트 단위의 가장 짧은 코드가 이깁니다.
더 많은 예
3
:
^
/ \
/ \
/ \
__|__
-2
:
^
/|\
/|\
__|__
0
:
_____
0, 0
:
_________
0, 1, 0
:
^
/ \
______|______
0, -1, 2, -3, 4
:
^
^ / \
^ /|\ / \
^ / \ /|\ / \
/|\ / \ /|\ / \
______|___|___|___|__
_
경우 마지막 트리 다음에 후행 (밑줄) 을 추가하지 않았을 수 있습니다 .