728x90
반응형
이번에도 간단한 문제 풀이이다.
나는 최근 코틀린에서 제공되는 편리한 함수의 소스 코드를 보면
언제나 적응이 되질 않고 무슨 의미인지 해석할 수가 없다.
문제
배열의 원소를 내림차순으로 정렬하고 0번과 1번 인덱스 값을 곱해 리턴해야 겠다! 는 생각을 했다.
그리고 그런 기능을 하는 메소드를 찾아보았다.
역시, 제공되는 메소드가 있었다.
그런데 예~~전에 쓴 글에서 나는 분명 MutableList에게
sort와 reverse 메소드를 사용해 내림차순 정렬을 했었다.
왜 그랬을까 뭐 암튼 이유는 모르겠지만 이번엔 sortDescending이라는 메소드를 사용했다.
그런데 여기서 궁금한 점이 생겼다.
sortDescending이라는 메소드가 있으면 sort와 reverse 메소드를 두 번 부를 필요가 없는데?
궁금증을 이기지 못하고 이해하지 못할 소스 코드를 보러 가보았다.
노란색으로 칠해진 저 부분의 문법은 언제나 봐도 이해할 수 없다.
저 Generic은 뭐고 Comparable은 뭐고 T는 뭐고 out T는 또 뭐고 암튼 뭐 외계어가 따로 없다.
어쨌든, 결국 sortDescending은 내부적으로 sort와 reverse를 실행하고 있었다.
메소드 두 번 호출하기 귀찮지? 내가 대신해줄테니까 너는 다른 메소드 불러
같은 느낌이었다고 할까?
풀이
나름 코드는 간결했다. 하지만 아래의 결과를 보니 생각보다 실행 속도가 빠르진 않았다.
728x90
반응형
'프로그래머스' 카테고리의 다른 글
세균 증식 코틀린(Kotlin) (0) | 2023.02.15 |
---|---|
제곱수 판별하기 코틀린(Kotlin) (0) | 2023.02.10 |
배열 자르기 코틀린(Kotlin) (0) | 2023.02.02 |
점의 위치 구하기 코틀린(Kotlin) (0) | 2023.01.29 |
피자 나눠 먹기(3) 코틀린(Kotlin) (0) | 2022.11.30 |