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 hot observable
- jvm 작동 원리
- 안드로이드 라이선스
- 안드로이드 유닛테스트란
- 서비스 vs 쓰레드
- 안드로이드 유닛 테스트 예시
- rxjava cold observable
- 클래스
- Rxjava Observable
- 서비스 쓰레드 차이
- 멤버변수
- ANR이란
- 2022 플러터 안드로이드 스튜디오
- android ar 개발
- 안드로이드 레트로핏 사용법
- 객체
- 플러터 설치 2022
- 스택 큐 차이
- 자바 다형성
- ar vr 차이
- rxjava disposable
- 안드로이드 os 구조
- 안드로이드 유닛 테스트
- 안드로이드 레트로핏 crud
- 안드로이드 라이선스 종류
- jvm이란
- 큐 자바 코드
- android retrofit login
- 스택 자바 코드
- 2022 플러터 설치
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 마지막 두 원소 (Kotlin) 본문
728x90
반응형
정수 리스트 num_list가 주어질 때, 마지막 원소가 그 전 원소보다 크면 마지막 원소에서 그 전 원소를 뺀 값, 마지막 원소가 그 전 원소보다 크지 않다면 마지막 원소를 2배한 값을 추가해서 리턴하는 함수를 완성하라
주먹구구식으로 아래처럼 풀었다.
class Solution {
fun solution(numList: IntArray): ArrayList<Int> {
val takeLastTwo: List<Int> = numList.takeLast(2)
val list = ArrayList<Int>()
for (num in numList) {
list.add(num)
}
val last = takeLastTwo[1]
val beforeLast = takeLastTwo[0]
if (last > beforeLast) {
list.add(last - beforeLast)
} else {
list.add(last * 2)
}
return list
}
}
다른 풀이를 찾아보니 아래처럼 좀 더 간결하게 풀 수도 있다.
class Solution {
fun solution(num_list: IntArray): IntArray {
val answer = num_list.toMutableList().apply {
val (first, second) = num_list.takeLast(2)
if (first < second) add(second - first)
else add(second + second)
}
return answer.toIntArray()
}
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 수 조작하기 2 (Kotlin) (0) | 2023.12.30 |
---|---|
[Algorithm] 프로그래머스 - 수 조작하기 1 (Kotlin) (0) | 2023.12.30 |
[Algorithm] 프로그래머스 - 이어 붙인 수 (Kotlin) (0) | 2023.12.06 |
[Algorithm] 프로그래머스 - 원소들의 곱과 합 (Kotlin) (0) | 2023.12.06 |
[Algorithm] 프로그래머스 - 주사위 게임 2 (Kotlin) (0) | 2023.12.06 |
Comments