영어와 대부분의 프로그래밍 언어는 왼쪽에서 오른쪽으로, 위에서 아래로 읽히지 만 읽을 필요는 없습니다 .
실제로 텍스트 블록
ABC
DEF
읽을 수있는 8 가지 관련 방법을 생각할 수 있습니다.
- 왼쪽에서 오른쪽, 위에서 아래 (LTR-TTB) :
ABCDEF
- 위에서 아래로, 왼쪽에서 오른쪽으로 (TTB-LTR) :
ADBECF
- 왼쪽에서 오른쪽, 아래에서 위로 (LTR-BTT) :
DEFABC
- 하단에서 상단, 왼쪽에서 오른쪽 (BTT-LTR) :
DAEBFC
- 오른쪽에서 왼쪽, 위에서 아래 (RTL-TTB) :
CBAFED
- 위에서 아래로, 오른쪽에서 왼쪽 (TTB-RTL) :
CFBEAD
- 오른쪽에서 왼쪽으로, 위에서 아래로 (RTL-BTT) :
FEDCBA
- 하단에서 상단, 오른쪽에서 왼쪽 (BTT-RTL) :
FCEBDA
도전
선택한 8 가지 단일 라인 프로그램 으로 위의 8 가지 방법으로 읽을 수있는 직사각형의 텍스트 블록을 작성 하십시오. 이러한 각 프로그램은 1에서 8까지 다른 정수를 출력해야합니다.
어떤 판독 방향이 어떤 숫자를 출력하는지는 중요하지 않으며, 위의 숫자와 일치하지 않아도됩니다. 예를 들어 텍스트 블록이 여전히
ABC
DEF
다음 프로그램의 ABCDEF
힘 출력 5
과 FEDCBA
힘 출력 2
, 및 다른 육 개 프로그램 것 출력 1
, 3
, 4
, 6
, 7
, 그리고 8
어떤 순서로한다.
텍스트 블록은 줄 종결 자를 제외한 모든 문자를 포함 할 수 있습니다 .
언어에 적절한 stdout이 없으면 출력이 stdout 또는 유사한 대안으로 이동해야합니다. 입력이 없습니다. 프로그램이 REPL 환경에서 실행되고 있다고 가정 할 수 있습니다.
Pietu1998는 자선 적으로 자발적 으로 텍스트 블록이 주어 졌을 때 8 가지의 다른 한 줄 프로그램을 제공 JSFiddle 을 . 스택 스 니펫으로 만들었습니다.
<script>function f(n){n=n.split("\n");var e=n.map(function(n){return n.length}).sort()[n.length-1];n=n.map(function(n){return(n+Array(e+1).join(" ")).substring(0,e)});var t=n[0].split("").map(function(e,t){return n.map(function(n){return n[t]}).join("")});n=[n.join(""),n.reverse().join(""),t.join(""),t.reverse().join("")],n=n.concat(n.map(function(n){return n.split("").reverse().join("")})),document.getElementById("a").innerHTML=n.map(function(n,e){return document.getElementById("b").checked?n+" "+"LLTTRRBB"[e]+"T"+"RRBBLLTT"[e]+"-"+"TBLRBTRL"[e]+"T"+"BTRLTBLR"[e]:n}).join("\n")}</script><textarea onkeyup="f(this.value)" id="c" placeholder="Code"></textarea><br/><input type="checkbox" id="b" onchange="f(document.getElementById('c').value)" checked/> <label for="b">Show directions</label><br/><pre id="a"></pre>
Martin의 CJam 버전은 여기 에서 여전히 찾을 수 있습니다 .
채점
점수는 텍스트 블록의 영역 (너비와 높이)입니다. 가장 낮은 점수를받은 제출이 승리합니다. (실제로 가장 작은 코드가 승리하므로 코드 골프 태그입니다.) Tiebreaker는 이전에 게시 된 제출물로갑니다.
예는 2 x 3이므로 점수는 6입니다. 4 개 (2 x 2) 미만의 점수는 불가능하므로 8 개의 프로그램 중 일부가 동일하고 두 개의 다른 값을 출력 할 수 없기 때문입니다.
String.prototype.repeat()
여전히 새로운 것 같습니다 . 또한 IE에서 작동하는 것으로 확인되었습니다. 새로운 바이올린