https://school.programmers.co.kr/learn/courses/30/lessons/120812
문제
정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return 하도록 solution 함수를 완성해 주세요.
제한사항
1 ≤ num_list의 길이 ≤ 1,000
0 ≤ num_list의 원소 ≤ 1,000
풀이
class Solution1 {
fun solution(num_list: IntArray) = num_list.reversedArray()
}
//reversedArray()구현
public fun IntArray.reversedArray(): IntArray {
if (isEmpty()) return this
val result = IntArray(size)
val lastIndex = lastIndex
for (i in 0..lastIndex)
result[lastIndex - i] = this[i]
return result
}
class Solution2 {
fun solution(num_list: IntArray): IntArray {
val size = num_list.size
return IntArray(num_list.size) { idx ->
num_list[size - idx - 1]
}
}
}
- 배열을 뒤집는 연산을 2가지 방법으로 구현하였습니다.
- 1번 풀이 같은 경우 언어에서 지원하는 배열을 뒤집어 반환해 주는 reversedArray() 함수를 사용하여 해당 로직을 구현하였습니다. 이경우 새로운 배열을 만든 후 값을 넣어주기 때문에 시간이 조금 더 오래 걸릴 수 있습니다.
- 2번 풀이 같은 경우 배열을 만들면서 값을 넣어주기 때문에 이후 다른 작업을 안 해주므로 상대적으로 빠른 것을 볼 수 있습니다.
결과
'코틀린 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] - 가위 바위 보 (Kotlin) (0) | 2023.07.25 |
---|---|
[프로그래머스] - 문자열 뒤집기 (Kotlin) (0) | 2023.07.25 |
[프로그래머스] - 배열 두배 만들기 (Kotlin) (0) | 2023.07.24 |
[프로그래머스] - 최빈값 구하기(Kotlin) (0) | 2023.07.24 |
[프로그래머스] - 몫 구하기 (Kotlin) (1) | 2023.07.24 |