Elixir에서, (연결된)리스트는 head 가 무엇이든 될 수있는 형식으로 [head | tail]
되어 있으며 tail 은리스트의 나머지리스트이며 , 비어있는리스트는 이것에 대한 유일한 예외입니다.[]
목록도 같이 쓸 수 [1, 2, 3]
있는 것은 동일합니다[1 | [2 | [3 | []]]]
당신의 임무는 설명대로 목록을 변환하는 것입니다. 입력은 항상 정규식과 일치하는 숫자 만 포함하는 유효한 목록 (Elixir) \[(\d+(, ?\d+)*)?\]
입니다. 공백이 있거나 (쉼표 뒤에 한 칸씩) 공백없이 입력 할 수 있습니다. 출력은 공백이 있거나 없을 수 있습니다 (각 앞뒤에 한 |
칸씩).
선행 0이있는 입력의 경우 0없이 또는 함께 출력 할 수 있습니다.
입력과 같이 입력을 문자열로 가져와야합니다 (함수를 쓰는 경우).
예
[] -> []
[5] -> [5 | []]
[1, 7] -> [1 | [7 | []]]
[4, 4, 4] -> [4 | [4 | [4 | []]]]
[10, 333] -> [10 | [333 | []]]
관련 부분에서이 같은, 아니 중복 모드를 추가해야 ]
끝에. 또한 Haskell의 답변은 여기의 답변과 다릅니다.