역배열 합

프로그램은 배열을 입력으로 가져와야합니다.

배열 :

  1. 항상 1 차원 일 것입니다
  2. 정수만 포함
  3. 비어있을 수 있습니다

프로그램은 배열을 뒤집은 다음 요소를 원본에 추가합니다.

입력: [1, 2, 3]

기발한: [1, 2, 3]

역전 : [3, 2, 1]

[1, 2, 3]
 +  +  +
[3, 2, 1]

[1+3, 2+2, 3+1]

산출: [4, 4, 4]


테스트 사례 :

#In             #Out
[8, 92],        [100, 100]
[1, 2, 3],      [4, 4, 4]
[5, 24, 85, 6], [11, 109, 109, 11]
[],             []
[999],          [1998]

이것은 가장 짧은 코드 (바이트)가이기는 !



답변

하스켈 , 20 바이트

nimi에서 제안한대로 free point로 변경하여 5 바이트 저장

zipWith(+)=<<reverse

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


답변

젤리 , 2 바이트

+U

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

또는

+Ṛ

온라인으로 사용해보십시오!
(두 번째 프로그램은 @Mr. Xcoder에게 감사드립니다)

설명은 꽤 설명이 필요하지만

+U  Main link
+   Add, vectorizing,
 U                    the input, reversed
+Ṛ  Main link
+   Add, vectorizing,
 Ṛ                    the input, reversed, without vectorizing (same thing for depth-1 lists)

빈 배열의 []경우 아무것도 출력하지 않습니다. 맞아요. 빈 목록에 대한 젤리의 표현은 단순히 아무것도 아닙니다. Jelly의 단일 요소가있는 목록은 요소 자체 일뿐입니다. ŒṘ출력에 대한 파이썬 내부 표현을 보려면 코드에 추가 하십시오.


답변

자바 스크립트 (ES6), 27 바이트

a=>[...a].map(e=>e+a.pop())
f=
a=>[...a].map(e=>e+a.pop())

console.log(f([8, 92])) // [100, 100]
console.log(f([1, 2, 3])) // [4, 4, 4]
console.log(f([5, 24, 85, 6])) // [11, 109, 109, 11]
console.log(f([])) // []
console.log(f([999])) //[1998]

답변


답변

파이썬 2, 32 바이트

lambda l:map(sum,zip(l,l[::-1]))

zip(35 바이트)가 없는 대체 솔루션 :

lambda l:map(int.__add__,l,l[::-1])

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


답변

파이썬 2 , 40 바이트

lambda l:[i+j for i,j in zip(l,l[::-1])]

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

다른 짧은 Python 답변은 목록 이해를로 바꿉니다 map. 나는 그것을 더 빨리 할 생각이었습니다. ;-;


답변

Japt , 7 바이트

mÈ+Ug~Y

온라인으로 사용해보십시오! -Q출력 배열을 형식화 하는 플래그 와 함께 .

설명

암시 적 : U= 입력 배열

다음 함수로 입력을 맵핑하십시오.

+Ug

인덱스에 입력 배열의 값과 값을 더한 값 …

~Y

-(index+1)배열의 끝에서 요소를 가져옵니다.