나는이 사이트를 잠시 스크롤하고 있었지만 최근에 실제로 몇 가지 도전 과제를 시도하는 데 실제로 관심이있었습니다. 기존 코드 골프 주제 중 일부를 시도하고 싶었지만 어제 한동안 인터넷에 액세스 할 수 없었으며 그 동안 내 자신의 도전을 생각했습니다.
당신의 작업은 Floats a
와 integer 의 배열을 취하는 프로그램이나 함수를 n
만든 다음 각 값 a
을 그 옆의 두 n
시간 의 평균으로 설정합니다 . 의 값을 증가시키면서 반복적으로 사용 n
하면 물결 모양의 모션이 생성됩니다.
사양 :
- 에 항목이 하나만
a
있거나n
0 이하인 경우 프로그램은 원래 배열을 반환해야합니다. - 입력과 출력은 눈에 띄게 분리되어있는 한 원하는 형식이 될 수 있습니다.
각 단계마다 :
- 첫 번째 항목
a
은 자체의 평균이되고 다음 항목이되어야합니다. - 마지막 항목
a
은 자체와 이전 항목의 평균이되어야합니다. - 다른 항목
a
은 이전 항목과 다음 항목의 평균이되어야합니다. - 현재 단계가 아닌 이전 단계의 배열을 계산하고 있는지 확인하십시오!
테스트 사례 : 참고 : 입력 / 출력이이 형식 일 필요는 없습니다!
[0, 0, 1, 0, 0], 1 -> [0, 0.5, 0, 0.5, 0]
[0, 0, 1, 0, 0], 2 -> [0.25, 0, 0.5, 0, 0.25]
[0, 0, 1, 0, 0], 0 -> [0, 0, 1, 0, 0]
[0, 0, 1, 0, 0], -39 -> [0, 0, 1, 0, 0]
[0, 16, 32, 16, 0], 1 -> [8, 16, 16, 16, 8]
[0, 1, 2, 3, 4, 5], 1 -> [0.5, 1, 2, 3, 4, 4.5]
[0, 64], 1 -> [32, 32]
[0], 482 -> [0]
[32, 32, 32, 16, 64, 16, 32, 32, 32], 4 -> [33, 27, 40, 22, 44, 22, 40, 27, 33]
이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다. 우승자는 1 주일 (8 월 1 일)에 선정됩니다. 행운을 빕니다!
편집 : 무려 18 바이트로 우승자 @issacg를 축하 합니다!
n
5가 아닌 4 여야합니다.
n
는 제공a
되지 않고 제공되지 않은 경우를 제거하는 것입니다. 실제로 추가하지는 않습니다.