도전
인쇄 가능한 ASCII 문자 (코드 ), 가장 적은 바이트의 코드로 균형 스케일에 배치하십시오! 이것은 다음 단계로 구성됩니다.
- 줄의 무게를 계산하고 비교하십시오
- 적절하게 기울어 진 ASCII 아트 스케일을 선택하십시오
- 두 개의 현을 저울 위에 놓으십시오
문자열은 배열, 두 개의 인수 또는 다른 적절한 방법으로 전달 될 수 있습니다.
문자열의 가중치는 해당 문자열의 문자의 가중치의 합으로 정의된다 :
- 공백의 무게는 0 (
)입니다 - 소문자의 가중치는 2 (
abcdefghijklmnopqrstuvwxyz)입니다. - 대문자의 가중치는 4 (
ABCDEFGHIJKLMNOPQRSTUVWXYZ)입니다. - 다른 모든 심볼의 가중치는 3 (
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~)입니다.
비늘은 다음과 같습니다.
. _
| _- * / \
|-* / \
_- * | / \
_- * | / \
/ \ | * ------ *
/ \ |
/ \ |
/ \ |
* ------ * |
______ | ______
_.
/ \ * -_ |
/ \ *-|
/ \ | * -_
/ \ | * -_
* ------ * | / \
| / \
| / \
| / \
| * ------ *
______ | ______
.
|
______ | ______
/ \ | / \
/ \ | / \
/ \ | / \
/ \ | / \
* ------ * | * ------ *
|
|
______ | ______
첫 번째 문자열이 더 무거 우면 첫 번째 도면을 출력의 기초로 사용하십시오. 두 번째 줄이 더 무거 우면 두 번째 그림을 사용하십시오. 줄의 무게가 같으면 세 번째를 사용하십시오. 후행 공백이 허용됩니다.
다음 세 가지 그림의 일부를 다음 예제의 기초로 사용하겠습니다.
첫 번째 줄은 왼쪽 팬에, 두 번째 줄은 오른쪽 팬에 놓아야합니다.
여기 에 s 로 표시된 것처럼 대시 바로 위의 6x5 영역 내에 공백 이 아닌 문자 를 배치하여 팬 위에 문자열을 배치 #하십시오 (밸런스 스케일의 일부를 덮어 쓸 수 있음).
###### _ ###### ###### ###### / ###### \ * ------ *
이러한 모든 문자는 "정착"되어야합니다. -문자열에서 문자 위 또는 다른 문자 위 :
잘못된 잘못된 수정
____ ____ ____
f / \ / \ / \
l \ / \ / \
/ \ / hov \ / s \
/ oating \ / eri ng \ / ettled \
* ------ * * ------ * * ------ *
또한 전체 스택은 가능한 한 평평해야합니다. 즉, 6 개의 1- 와이드 열의 높이, 가장 높은 높이와 가장 짧은 높이는 1을 초과하지 않아야합니다.
잘못된 잘못된 수정 올바른
[가장 높이 : 5] [가장 높이 : 4] [가장 높이 : 5] [가장 높이 : 2]
[최단 : 0] [최단 : 2] [최단 : 4] [최단 : 2]
5__5_ ____ 5_5__ ____
45445 & / \ 445454 / \
45445 $ % & $ @ 445454 / \
/ 45445 & % @ % $ & 445454 % & $ @ % &
/ 45445 \ / & $ @ $ & % \ / 445454 \ / $ @ $ % $$ \
* ------ * * ------ * * ------ * * ------ *
문자의 정확한 순서 / 배열은 중요하지 않습니다. 다음은 문자열 "Weigh your words!"에 유효한 배열입니다.
____ ____ ____ ____ / \ / \ / \ / \ DS! \ / owd oe \ u! Wd \ 우리 Worwi Wiosos yoiwgr Eghioo / 무게 \ / egyrr! \ / Wrhd! s \ / rrsuwy \ * ------ * * ------ * * ------ * * ------ *
테스트 사례
입력 : "코드 골프", "코딩 문제"
체중 : 32, 32
예제 출력 :
.
|
______ | ______
/ \ | / \
/ \ | nge \ s
/ OO \ | 샬레
/ CFGLED \ | / 코딩 \
* ------ * | * ------ *
|
|
______ | ______
입력 : "", "$"
무게 : 0, 3
예제 출력 :
_.
/ \ * -_ |
/ \ *-|
/ \ | * -_
/ \ | * -_
* ------ * | / \
| / \
| / \
| / $ \
| * ------ *
______ | ______
입력 : "알겠습니다.", " '_ 항상 _a_relevant_xkcd"
체중 : 75, 65
예제 출력 :
. tr_a_s
| _hekx_y
|-* elcdta
_- * | 반란
_- * | / e's_al \
T / \ | * ------ *
오 요이 |
A! HWYK |
/ OTSMEW \ |
* ------ * |
______ | ______
+1. 첫째, 공간이 아무 것도 "무게"되지 않고 작품에 포함되지 않는다면 왜 그것들을 포함시켜야합니까? 먼저 걸러내는 것은 불필요한 오버 헤드입니다. 둘째, 이것은 나에게 "2-in-1"/ 카멜레온 도전과 같은 느낌이다-도전 1 : 어떤 문자열이 "무거운"결정, 도전 2 : ASCII 아트 생성.