R , 88 86 바이트
cat(intToUtf8(rbind(diffinv(matrix(c(66,-32,-31),25,5,T)[,1:3],,,t(c(32,65,97))),10)))
온라인으로 사용해보십시오!
R은 문자열 조작에서 끔찍하며 깔끔한 행렬이 있지만 회전은 쉽지 않은 또 다른 일입니다. 나는 R에서 나를 골프를 칠 수있는 사람에게 행복하게 현상금을 줄 것이다.
짧은 답변을 찾았음에도 불구하고 여전히 88 바이트보다 짧은 첫 번째 R 답변에 50 회 현상금을 수여합니다.
가능한 경우 현상금을 스스로 수여한다고 가정하지만 이것은 "지루한"답변보다 2 바이트 짧습니다! 나는 재활용을 위해 R의 기능을 사용하여 회전을 피합니다.
편집 : user2390246의 답변이 완전히 능가했으며 그 솔루션이 훨씬 우수하기 때문에 100 점 현상금을 수여 할 것입니다.
여기에 도달하기 위해 원하는 줄 utf8ToInt
바꿈을 ASCII 코드 포인트로 분해하고 (줄 바꿈 제거) 행렬을 작성하고 열 diff
방향의 차이를 얻습니다. 그곳의 주기성에 주목하면서, 나는 diffinv
원본을 재현 하기 위해 사용 하기를 희망하면서 골치 아픈 방식으로 매트릭스를 구성하기 시작 했습니다.
주기성 덕분에 diff
R이 다중 길이가 아닌 재활용을하도록 하여 ed 행렬을 다시 만들고 실제로 원하는 열을 추출 할 수 있습니다.
matrix(c(66,-32,-31),25,5,T)[,1:3]
그리고이 과정 반전과 우리는 diffinv
코드 포인트, APPEND의 행 재현하기 위해 10
바닥에 ASCII로 재 변환에 (줄 바꿈) intToUtf8
하고, cat
그 결과를.