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
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 os 구조
- rxjava hot observable
- ar vr 차이
- 안드로이드 레트로핏 crud
- 스택 큐 차이
- rxjava disposable
- 2022 플러터 설치
- 안드로이드 유닛 테스트 예시
- jvm이란
- 클래스
- 스택 자바 코드
- 안드로이드 유닛테스트란
- 플러터 설치 2022
- rxjava cold observable
- 서비스 쓰레드 차이
- 서비스 vs 쓰레드
- 안드로이드 유닛 테스트
- android retrofit login
- 안드로이드 라이선스
- Rxjava Observable
- 큐 자바 코드
- 자바 다형성
- 객체
- 멤버변수
- 안드로이드 라이선스 종류
- ANR이란
- android ar 개발
- jvm 작동 원리
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 특이한 정렬 (Kotlin) 본문
728x90
반응형
정수 n을 기준으로 n과 가까운 수부터 정렬하려고 한다. 이 때 n으로부터의 거리가 같으면 더 큰 수를 앞에 오게 배치한다. 정수가 담긴 배열 numlist, 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 리턴하는 solution()을 완성하라
이 문제도 다른 사람의 풀이를 참고했다.
특이한 정렬 - Java [프로그래머스 입문]
❤️ Problem 더보기 문제 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어
gyulpiki.tistory.com
import kotlin.math.abs
class Solution {
fun solution(numlist: IntArray, n: Int): IntArray {
val arr = ArrayList<Int>()
for (element in numlist) {
arr.add(Integer.valueOf(element))
}
arr.sortWith { a, b ->
val absA = abs(a - n)
val absB = abs(b - n)
if (absA == absB) {
if (a > b) {
-1
} else {
1
}
} else {
absA - absB
}
}
val answer = IntArray(numlist.size)
for (i in arr.indices) {
answer[i] = arr[i]
}
return answer
}
}
간단하게 만들면 아래처럼 된다.
import kotlin.math.abs
class Solution {
fun solution(numList: IntArray, n: Int): IntArray {
return numList.sortedWith { a, b ->
if (abs(a - n) == abs(b - n)) b.compareTo(a) else abs(a - n).compareTo(abs(b - n))
}.toIntArray()
}
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 옹알이 (1) (Kotlin) (0) | 2023.01.29 |
---|---|
[Algorithm] 프로그래머스 - 등수 매기기 (Kotlin) (0) | 2023.01.29 |
[Algorithm] 프로그래머스 - 유한소수 판별하기 (Kotlin) (0) | 2023.01.28 |
[Algorithm] 프로그래머스 - 겹치는 선분의 길이 (Kotlin) (0) | 2023.01.28 |
[Algorithm] 프로그래머스 - 평행 (Kotlin) (0) | 2023.01.27 |
Comments