[프로그래머스] 가장 큰 수 찾기

Sdoubleu·2023년 4월 5일
0

프로그래머스

목록 보기
17/34
post-thumbnail

문제


내가 쓴 풀이

class Solution {
    fun solution(array: IntArray): IntArray {
        var answer: IntArray =
        intArrayOf(array.sorted().last(),
        array.indexOf(array.sorted().last()))
        
        return answer
    }
}
  • max()함수를 이용해서 하려했으나 왜인지... 이용이 불가능했다..

다른 사람 풀이

class Solution {
    fun solution(array: IntArray): IntArray = array.maxOrNull().let {
       intArrayOf(it ?: 0, array.indexOf(it ?: 0)) 
    }
}
  • maxOfNull() 함수
    가장 큰 요소를 반환하거나 요소가 없으면 null 을 반환합니다

  • let 함수

  1. 지정된 값이 null 이 아닌 경우에 코드를 실행해야 하는 경우
  2. Nullable 객체를 다른 Nullable 객체로 변환하는 경우
  3. 단일 지역 변수의 범위를 제한 하는 경우

maxOfNull() 함수로 가장 큰 요소를 찾고,
let 함수를 이용해서 널이 아닐 경우에
intArrayOf 배열 안에 최댓값과 최댓값이 가지는 인덱스를 집어 넣을 때
이미 한 번 검사했지만 한 번더 안전하게 엘비스 연산자로 널값을 검사해서 대입한다


📌참고자료

let 함수에 대해서

profile
개발자희망자

0개의 댓글