728x90
반응형
이번 문제는 제목 그대로 배열을 자르는 문제이다.
요즘 코틀린에 너무 익숙해져서 자바로는 어떻게 풀어볼지 고민이다.
문제
풀이들
풀이 1) 문제에서 기본적으로 answer 변수를 IntArray형으로 주었기 때문에 이에 맞춰 생각하다 보니
배열의 사이즈를 정해 빈 배열을 만들고 반복문을 통해 하나씩 값을 넣어주기로 했다.
- 이 경우, for문을 통해 주어진 numbers의 값을 answer 배열에 하나씩 넣어준다.
실행 결과는 이렇다.
보면 기가 막히게 실행 속도가 빠르다.
풀이 2) 찾아보니 Array의 메소드 중 copyOfRange()라는 메소드를 사용하면
원본 배열을 변경하지 않고 지정한 범위의 배열을 리턴해준다고 한다.
answer 변수의 타입도 선언하지 않고 작성해보았다.
실행 결과는 이렇다.
대략 9ms 언저리이다.
풀이 3) 이번에는 같은 동작을 하는 코드지만 코틀린에서 지원하는 문법을 사용해 길이를 줄여보았다.
안드로이드 RecyclerView의 Adapter의 count를 설정할 때 줄여쓰는 것처럼 말이다.
실행 결과는 이렇다.
풀이 2번과 실행 속도와 차지하는 메모리가 다르다.
내부적으로 어떻게 동작하는지 정확히 모르니.. 어디에서 이런 차이점이 발생하는지 알 수 없었다.
728x90
반응형
'프로그래머스' 카테고리의 다른 글
제곱수 판별하기 코틀린(Kotlin) (0) | 2023.02.10 |
---|---|
최댓값 만들기(1) 코틀린(Kotlin) (0) | 2023.02.09 |
점의 위치 구하기 코틀린(Kotlin) (0) | 2023.01.29 |
피자 나눠 먹기(3) 코틀린(Kotlin) (0) | 2022.11.30 |
피자 나눠 먹기(2) 코틀린(Kotlin) (0) | 2022.11.26 |