알파벳 대문자의이 픽셀 화 된 글꼴에서 모든 문자의 폭은 5 단위, 높이는 5입니다.
███ ████ ███ ████ █████ █████ ████ █ █ █████ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ██ ██
█████ ████ █ █ █ ████ ████ █ ██ █████ █ █ ███ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ████ ███ ████ █████ █ ████ █ █ █████ ███ █ █ █████ █ █
█ █ ███ ████ ███ ████ ████ █████ █ █ █ █ █ █ █ █ █ █ █████
██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ ████ █ █ ████ ███ █ █ █ █ █ █ █ █ █ █ █
█ ██ █ █ █ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ███ █ ████ █ █ ████ █ ███ █ █ █ █ █ █ █████
알 수 있듯이 문자 사이와 줄 사이에 1 단위의 공간이 있습니다. 따라서 각 문자는 최대 6 × 6 단위의 공간을 차지할 수 있습니다.
문자█
의 형태를 직접 형성하기 위해 전체 블록 문자 ( )를 사용하는 대신 동일한 글꼴로 다른 문자 를 사용하려고 한다고 가정합니다 . 여기에는 텍스트의 크기를 6 배로 늘려 전체 블록으로 만든 문자를 큰 텍스트에서 전체 블록 대체로 사용할 수 있습니다.
그것이 이해가되지 않는다면이 예제는 잘 될 것입니다. 다음은 픽셀 화 된 글꼴을 사용하여 B로 만든 A입니다.
████ ████ ████
█ █ █ █ █ █
████ ████ ████
█ █ █ █ █ █
████ ████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
████ ████ ████ ████ ████
█ █ █ █ █ █ █ █ █ █
████ ████ ████ ████ ████
█ █ █ █ █ █ █ █ █ █
████ ████ ████ ████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
B는 풀 블록으로 만들어지고 A는 B로 만들어집니다. B에는 여전히 가로와 세로 사이에 하나의 단위가 있습니다.
문자 대신 단어를 사용하여이 아이디어를 확장 할 수 있습니다. 다음은 "FIRE"로 만들어진 "WATER"입니다.
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █
█████ █████ ████ █████ █████ █████ ████ █████
█ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████
█ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █
█████ █████ ████ █████ █████ █████ ████ █████ █████
█ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████
█ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████
문자 사이에 얼마나 많은 공간이 있더라도 각 줄에 "FIRE"가 어떻게 반복적으로 나타나는지 확인하십시오. "화재"의 가장 오른쪽 사례 중 3 개는 "워터"의 글자 모양에 따라 일찍 끊어졌습니다.
이 단어는 단어로 구성된 단어 를 사용하여 단어로 구성된 단어 를 만들 거나 심지어 단어로 구성된 단어로 구성된 단어 를 만들면 더욱 확장 될 수 있습니다 . 이론적으로 제한은 없습니다.
또 다른 예는이 게시물을 30k 자로 제한했지만이 멋진 스택 스 니펫을 실행하여 "단어로 구성된 단어로 구성된 단어"의 의미를 알 수 있습니다. 매개 변수를 기본값으로두고 "Go!"를 누르십시오. "MOUSE"라는 단어로 만들어진 "CAT"라는 단어로 만들어진 "DOG"라는 단어가 표시됩니다.
즉 어떤 공간에서 분리 된 입력 만 대문자 함유 으로 ... 등 이루어지는 제 이루어지는 제 이루어지는 번째 단어로 이루어진 첫 번째 단어를 생성 할 텍스트 상자를
경고 : 4 ~ 3 단어 이상을 입력하면 많은 텍스트가 생성되고 오랜 시간이 걸립니다. 브라우저 / 컴퓨터 / 자동차가 충돌 할 수 있습니다.
도전
이 과제의 목표는 가장 적은 수의 문자에서 스택 스 니펫이 수행하는 작업을 반영하는 것입니다.
공백만으로 구분 된 대문자 만 포함하는 단어를 취하고 위에 주어진 픽셀 화 된 글꼴을 사용하여 첫 번째 단어 "made of", 두 번째 "made of"세 번째 등을 출력하는 프로그램을 작성해야합니다.
프로그램에서 "일반 ASCII"체크 상자와 스 니펫의 글꼴 크기 기능을 지원할 필요는 없습니다. 단어 목록에서 단어로 구성된 단어로의 변환을 반영하는 것이 요점이며 유일한 요구 사항입니다.
세부
입력은 명령 줄인 stdin에서 가져 오거나 문자열을받는 함수를 작성하면됩니다.
입력이 항상 유효하다고 가정 할 수 있습니다. 즉, 선행 또는 후행 공백없이 정확히 하나의 공백으로 구분 된 대문자로 구성된 단어 문자열입니다.
출력은 stdout (또는 유사한 대안) 또는 원하는 이름의 파일로 이동해야합니다.
출력은 완전히 공백 문자 , 전체 공백 문자 및 줄 바꾸기 로 구성되어야합니다 .
- 빈 / 전체 공간 문자는 하나의 공간 및 전체 블록 (해야한다
,
█
)는 각각, 또는 기간 X (.
,X
각각).
- 빈 / 전체 공간 문자는 하나의 공간 및 전체 블록 (해야한다
출력에는 공백 문자 만 포함하는 선행 열이 포함되어서 는 안되지만 행에 후행 공백 문자 조합을 사용할 수 있습니다.
따라서 이것은 허용됩니다.
X...X.XXXXX.. X...X.X X.X.X.XXXX.... X.X.X.X.. .X.X..XXXXX..
그러나 이것은 아닙니다 :
.X...X.XXXXX.. .X...X.X .X.X.X.XXXX.... .X.X.X.X.. ..X.X..XXXXX..
공백 문자 만 포함하는 선행 또는 후행 행이 없어야합니다 . 단일 후행 줄 바꿈이 선택적으로 허용됩니다.
보다 문자열 친화적 인 글꼴 버전은 다음과 같습니다.
.XXX.
X...X
XXXXX
X...X
X...X
XXXX.
X...X
XXXX.
X...X
XXXX.
.XXX.
X...X
X....
X...X
.XXX.
XXXX.
X...X
X...X
X...X
XXXX.
XXXXX
X....
XXXX.
X....
XXXXX
XXXXX
X....
XXXX.
X....
X....
.XXXX
X....
X..XX
X...X
.XXXX
X...X
X...X
XXXXX
X...X
X...X
XXXXX
..X..
..X..
..X..
XXXXX
....X
....X
....X
X...X
.XXX.
X...X
X..X.
XXX..
X..X.
X...X
X....
X....
X....
X....
XXXXX
X...X
XX.XX
X.X.X
X...X
X...X
X...X
XX..X
X.X.X
X..XX
X...X
.XXX.
X...X
X...X
X...X
.XXX.
XXXX.
X...X
XXXX.
X....
X....
.XXX.
X...X
X...X
X..XX
.XXXX
XXXX.
X...X
XXXX.
X..X.
X...X
.XXXX
X....
.XXX.
....X
XXXX.
XXXXX
..X..
..X..
..X..
..X..
X...X
X...X
X...X
X...X
.XXX.
X...X
X...X
.X.X.
.X.X.
..X..
X...X
X...X
X.X.X
X.X.X
.X.X.
X...X
.X.X.
..X..
.X.X.
X...X
X...X
.X.X.
..X..
..X..
..X..
XXXXX
...X.
..X..
.X...
XXXXX
채점
이것은 코드 골프 이므로 바이트 단위 의 최단 제출 이 이깁니다. 전체 블록 ( █
) 의 모든 인스턴스는 3이 아닌 1 바이트로 계산 될 수 있으므로 사용 X
하는 제출 에는 이점이 없습니다.
$('#question pre, .answer pre').css('line-height',1)
javascript:
URL 표시 줄 하여 붙여 넣기)을 실행하면 ASCII 아트를 훨씬 쉽게 읽을 수$('#question pre').css('line-height',1)
있습니다. 결과 : i.stack.imgur.com/XmB8C.png