도전
문자열이 입력되면 철거 된 버전을 출력합니다.
과정
P
r Pr r
o o o
g g g
r r r rogr r
a -> a -> a -> a -> a -> -> -> -> ->
m m m m m
m m m m m mmar m
i i i i i i i mi m
n n n n gn gn gn gn gni mgni
g g Pg Pg roPg roPg roPgmar roPgmar roPgmar roPgmar
- 끈을 세로로 놓습니다.
- 사이의 임의의 정수를 선택
1하고(height of the column of characters) - 1및 임의의 방향 (왼쪽 또는 오른쪽)를. - 해당 문자 수를 그 방향으로 회전하십시오 (공백이 비어 있으면 4 단계로 이동하고 그렇지 않은 경우 2 단계로 돌아가십시오).
- 그 캐릭터들이 중력으로 인해 쓰러지게하십시오.
- 문자 열의
1높이가 옆에있는 열의 높이보다 최대가 될 때까지 반복 하십시오 (즉, 열을 더 이상 철거 할 수 없게됩니다 ( "2-4 단계")). 1하나 이상의 주변 열보다 큰 문자보다 큰 문자 열이 더 있으면 (즉 철거 가능) 더 이상 철거 할 수 없을 때까지 해당 열을 반복 철거하십시오. 철거 가능한 열이 여러 개인 경우 가장 높은 열을 완전히 철거하십시오 (가장 큰 열이있는 경우 가장 왼쪽 열을 완전히 철거하십시오).- 모든 열을 더 이상 철거 할 수 없을 때까지 반복하십시오.
입력에 공백 문자가 있으면 먼저 공백 문자를 모두 철거하십시오.
C
o
d
e -> oC -> -> ...
de
G G G
o o o
l l l
f f defoC
규칙
- 표준 허점은 금지되어 있습니다.
- 후행 및 선행 개행이 허용됩니다.
- 프로그램에서 문자열 / 등가를 인쇄하거나 반환 할 수 있습니다.
- 출력이 결정적이지 않아야합니다 (입력을 철거 할 수없는 경우 제외).
이것은 code-golf 이므로 언어에서 가장 작은 바이트 수를 가진 제출물이 승리합니다!
1
여기에 무작위가 실제로 필요한지 의심합니다.
—
Keyu Gan
@KeyuGan 사람들이 고정 된 수의 문자를 선택하고 왼쪽 / 오른쪽을 번갈아 가려야한다면이 문제는 상당히 사소한 것이라고 생각합니다.
—
JungHwan Min
우리는 여전히 4 무작위와 공정한 주사위 롤에 의해 반환이라고 말할 수있다
—
내 대명사 monicareinstate입니다
@someone
—
JungHwan Min
4은 출력을 결정적, 즉 "무작위"가 아닌 것으로 만듭니다. 명시 적으로 규칙을 편집했습니다.
@ 누군가 XKCD 때문에 4시에 언급하고 있습니까?
—
Giacomo Garabello