Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- rxjava cold observable
- ar vr 차이
- Rxjava Observable
- 안드로이드 os 구조
- 멤버변수
- rxjava hot observable
- 안드로이드 라이선스
- 2022 플러터 안드로이드 스튜디오
- 스택 큐 차이
- 자바 다형성
- 안드로이드 유닛 테스트
- 안드로이드 라이선스 종류
- 서비스 쓰레드 차이
- ANR이란
- 안드로이드 레트로핏 사용법
- 안드로이드 유닛테스트란
- 플러터 설치 2022
- rxjava disposable
- 서비스 vs 쓰레드
- 큐 자바 코드
- 클래스
- android retrofit login
- 객체
- 2022 플러터 설치
- 안드로이드 레트로핏 crud
- android ar 개발
- 안드로이드 유닛 테스트 예시
- 스택 자바 코드
- jvm이란
- jvm 작동 원리
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 배열의 길이에 따라 다른 연산하기 (Kotlin) 본문
728x90
반응형
정수 배열 arr, 정수 n이 매개변수로 주어진다. arr의 길이가 홀수면 arr의 모든 짝수 인덱스 위치에 n을 더한 배열, 짝수면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을 리턴하는 함수를 완성하라
배열의 길이를 2로 나눈 나머지가 0인지 여부에 따라 홀짝을 구분한 뒤, 조건에 맞춰 특정 인덱스들의 값을 바꿔주기만 하면 된다.
class Solution {
fun solution(arr: IntArray, n: Int): IntArray {
val length = arr.size
val result = arr.copyOf()
if (length % 2 == 1) {
for (i in result.indices step 2) {
result[i] += n
}
} else {
for (i in 1 until length step 2) {
result[i] += n
}
}
return result
}
}
for문을 사용하고 "step 2"를 쓰면 배열의 인덱스를 2씩 증가시킨다.
홀수와 짝수들을 나열하면 모두 2씩 증감하는 등차수열로 볼 수 있어서(1-3-5, 2-4-6), 이렇게 한 후 copyOf()로 복사한 arr의 홀짝 인덱스 별로 값을 더하면 된다.
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 뒤에서 5등 위로 (Kotlin) (0) | 2024.06.30 |
---|---|
[Algorithm] 프로그래머스 - 뒤에서 5등까지 (Kotlin) (0) | 2024.06.28 |
[Algorithm] 프로그래머스 - 문자열 묶기 (Kotlin) (0) | 2024.06.28 |
[Algorithm] 프로그래머스 - 배열 비교하기 (Kotlin) (0) | 2024.06.28 |
[Algorithm] 프로그래머스 - 배열의 길이를 2의 거듭제곱으로 만들기 (Kotlin) (0) | 2024.06.28 |
Comments