def solution(arr, n):
answer = []
if len(arr) % 2 == 1:
for idx, i in enumerate(arr):
if idx % 2 == 0:
arr[idx] = i + n
answer = arr
else:
for idx, i in enumerate(arr):
if idx % 2 == 1:
arr[idx] = i + n
answer = arr
return answer
<aside> 💡
작성해보니, if를 and와 or 연산자로 묶을 수 있는 부분이 존재한다!
</aside>
def solution(arr, n):
return [i + n if (len(arr) % 2 == 1 and idx % 2 == 0) or
(len(arr) % 2 == 0 and idx % 2 == 1)
else i
for idx, i in enumerate(arr)]
<aside> 💡
리스트 컴프리헨션으로 작성해봤는데, 아직 익숙하지 않아서, 시간이 좀 소요됐다..
익숙해지자.,..!! 또한 for문을 어디에 적어야 할까.. 싶어서 찾아보니 마지막에 적어야 했다!
</aside>
동작 순서
리스트 컴프리헨션시에 for문 위치 → [ True 일때의 반환 값 if (조건{or, and 사용}) else False 일때의 반환 값 for i in enumerate() 등! ]
<aside> 💡
range() 를 사용하고 싶었는데, 어떻게 해야하는지 몰라서 찾아보니
def solution(arr, n):
N=len(arr)
if N%2:
for i in range(0,N,2): arr[i]+=n
else:
for i in range(1,N,2): arr[i]+=n
return arr
와.. 대단하다 정말..!!
</aside>