위치 인식


10

위치 인식

당신의 임무는 (원래 프로그램을 포함하여) 문자의 모든 순열에 대해 원래 프로그램과 관련된 모든 문자의 위치를 ​​출력하는 프로그램을 생성하는 것입니다.

귀하의 프로그램이

Derp

당신은 출력해야합니다

[0, 1, 2, 3]

(또는 동등한 것). 이는 인 D0제 위치 e1세인트는 R 2ND, 그리고 RD.p3

원래 프로그램이지만 문자가 바뀌는 다른 프로그램을 보자.

epDr

당신은 출력해야합니다

[1, 3, 0, 2]

때문에 e1원래의 프로그램의 일 위치 p3RD 위치 번째 및 ND.D0r2

원래 프로그램에 두 개의 반복 문자가있는 경우 :

abcda -> [0, 1, 2, 3, 4]

이어서 순열 들어, 0상기 4어레이의 오름차순이어야

baadc -> [1, 0, 4, 3, 2] (0 first, then 4)

규칙 :

  • 프로그램에는 고유 문자가 두 개 이상 있어야합니다.
  • 대부분의 floor(n/2)문자는 동일해야합니다.

     aabb (acceptable)
     aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
    
  • 프로그램의 출력은 모든 문자의 위치를 ​​순서대로 포함하는 배열 (또는 유사한 것)이거나 구분 기호가있는 문자열 일 수 있으므로 완벽하게 좋습니다.

    [0, 1, 2, 3]
    0,1,2,3
    0 1 2 3
    

7
나는이 도전이 사소한 해결책을 허용한다고 믿지 않습니다. 길이가> = ~ 5 인 언어의 거의 모든 대답은 당면 과제를 해결하는 프로그램은 물론 모든 순열에 대해 유효한 프로그램이 아닐 것입니다.
orlp

1
@ Qwerp-Derp 거의 아무도 샌드 박스에 아무 것도 말하지 않습니다. 얼마 전 샌드 박스에있는 지 한 달 정도 질문을 게시했습니다. 내가 게시했을 때만 사람들이 실수를 지적하고 다운 보트가 비가 올 때였습니다. 제 솔직한 의견으로는 샌드 박스는 쓸모가 없습니다.
Ismael Miguel

1
한 번은이 도전에서 느끼는 것처럼, 더 긴 대답은 짧은 것보다 더 인상적 일 것입니다.
Wojowu

1
@Wojowu 가능하다면 코드 볼링을 만들 수 있습니다 . 가장 긴 프로그램이 승리합니다.
clismique

1
12R 의 프로그램 이 유효합니까? 그것은 단순히 인쇄 12되고 순열된다면; 21.
Billywob

답변:


21

실제로 2 바이트

10

온라인으로 사용해보십시오!

이것은 인쇄

0
1

반면 다른 순열

01

인쇄물

1
0

작동 원리

실제로 연속 숫자는 별도로 구문 분석되므로 10푸시 스택에서 1 을 누른 다음 0 을 합니다.

프로그램이 끝나면 스택이 위에서 아래로 인쇄되므로 인쇄됩니다. 0 그 후, 다음에, 제 줄 바꿈을 1 .

재 배열 된 프로그램 01은 반대 순서로 동일하게 수행됩니다.


1
이것이 작동하는 다른 언어들; 진심으로, 05ab1e, ///, 2sable.
청록 펠리컨

사양은 숫자를 분리해야한다고 말합니다. 심각하게 작동하지만 실제로는 실제로 심각하게 2.0입니다.
Dennis

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.