배열의 길이에 따라 다른 연산하기 (Python)
📝 문제 설명
한 배열을, arr의 길이가 짝수라면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을 return 하는 solution 함수를 작성해 주세요.
📌 제한사항
- 1 ≤ arr의 길이 ≤ 1,000
- 1 ≤ arr의 원소 ≤ 1,000
- 1 ≤ n ≤ 1,000
🔽 입출력 예
arr | n | result |
---|---|---|
[49, 12, 100, 276, 33] |
27 |
[76, 12, 127, 276, 60] |
------------ ------------ ------------ | ------------ | ------------ ------------ ------------ |
[444, 555, 666, 777] |
100 |
[444, 655, 666, 877] |
📖 입출력 예 설명
- 예제 1번의 arr의 길이는 5로 홀수입니다. 따라서 arr의 짝수 인덱스 0, 2, 4에 주어진 n 값인 27을 더하면 [76, 12, 127, 276, 60]이 됩니다. 따라서 [76, 12, 127, 276, 60]를 return 합니다.
- 예제 2번의 arr의 길이는 4로 짝수입니다. 따라서 arr의 홀수 인덱스 1, 3에 주어진 n 값인 100을 더하면 [444, 655, 666, 877]이 됩니다. 따라서 [444, 655, 666, 877]를 return 합니다.
💡 문제 해결 접근
def solution(arr, n):
even_true = 1 if len(arr) % 2 == 0 else 0
for idx in range(len(arr[even_true::2])):
idx = (idx * 2) + even_true
arr[idx] = arr[idx] + n
answer = arr
return answer
🏆 정답 코드
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
🔥 느낀 점
홀수, 짝수 인덱스 배열 구하기 range(0,N,2) 활용
'Algorithm > 문제풀이' 카테고리의 다른 글
배열 비교하기 (0) | 2025.03.01 |
---|---|
대소문자 바꿔서 출력하기 (0) | 2025.02.28 |