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 | 29 | 30 | 31 |
Tags
- Rxjava Observable
- 안드로이드 os 구조
- ANR이란
- ar vr 차이
- 안드로이드 레트로핏 사용법
- 플러터 설치 2022
- 스택 자바 코드
- android ar 개발
- jvm 작동 원리
- 안드로이드 레트로핏 crud
- 클래스
- 서비스 쓰레드 차이
- 안드로이드 유닛 테스트 예시
- jvm이란
- 자바 다형성
- 스택 큐 차이
- rxjava cold observable
- rxjava disposable
- 서비스 vs 쓰레드
- android retrofit login
- 안드로이드 라이선스
- rxjava hot observable
- 멤버변수
- 안드로이드 유닛 테스트
- 2022 플러터 설치
- 안드로이드 라이선스 종류
- 2022 플러터 안드로이드 스튜디오
- 객체
- 안드로이드 유닛테스트란
- 큐 자바 코드
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 조건에 맞게 수열 변환하기 3 (Kotlin) 본문
728x90
반응형
정수 배열 arr, 자연수 k가 주어진다. k가 홀수면 arr의 모든 원소에 k를 곱하고, 짝수면 arr의 모든 원소에 k를 더한다. 이런 변환을 마친 후의 arr을 리턴하는 함수를 완성하라
매개변수로 받은 arr 안의 값은 직접 수정할 수 없다. 그래서 copyOf()로 arr을 복사한 다음 반복문과 홀짝 구분 로직을 섞어서 풀면 된다.
class Solution {
fun solution(arr: IntArray, k: Int): IntArray {
val answer: IntArray = arr.copyOf()
for (i in answer.indices) {
if (k % 2 == 0) {
answer[i] = answer[i] + k
} else {
answer[i] = answer[i] * k
}
}
return answer
}
}
위 코드는 map을 쓰면 아래처럼 더 간결하게 줄일 수 있다.
class Solution {
fun solution(arr: IntArray, k: Int) = arr.map { if (k % 2 == 0) it + k else it * k }
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 특별한 이차원 배열 1 (Kotlin) (0) | 2024.07.04 |
---|---|
[Algorithm] 프로그래머스 - l로 만들기 (Kotlin) (0) | 2024.07.04 |
[Algorithm] 프로그래머스 - 그림 확대 (Kotlin) (0) | 2024.07.04 |
[Algorithm] 프로그래머스 - 커피 심부름 (Kotlin) (0) | 2024.07.04 |
[Algorithm] 프로그래머스 - 날짜 비교하기 (Kotlin) (0) | 2024.07.04 |
Comments