(백준/Kotlin) 10818번 : 최소, 최대 (시간 복잡도/선형 시간, 메소드 성능 비교)

2021. 6. 3. 02:10·CodingTest

난이도: Bronze 3

프로그래밍 언어: Kotlin

문제명: 최소, 최대

푼일자: 2021년 6월

 

주소: https://www.acmicpc.net/problem/10818

 

문제풀기

단순한 선형 시간 O(n) 문제이다.

제출하고, 생각나는 몇가지 방법이 있어 각각 백준에 제출을 해서 성능을 비교해 보았다.

 

MutableList<Int> 형에서 지원하는 .min() 과 .max() 를 사용해 보았다.

fun resolve1() = with(Scanner(System.`in`)) {
    nextLine()
    val r = nextLine().split(" ").map { it.toInt() }.toTypedArray().toList()
    print("${r.minOrNull()} ${r.maxOrNull()}")
}

 

MutableList<Int> 에서 정렬을 한 뒤 맨 처음과 맨 마지막의 index 를 넣어 확인해 보았다.

fun resolve2() = with(Scanner(System.`in`)) {
    nextLine()
    val r = nextLine().split(" ").map { it.toInt() }.toTypedArray().toList().sorted()
    print("${r[0]} ${r[r.size-1]}")
}

 

ArrayList<Int> 형에서 지원하는 .min() 과 .max() 를 사용해 보았다.

fun main() = with(Scanner(System.`in`)) {
    nextLine()
    val r = nextLine().split(" ").map { it.toInt() }
    print("${r.minOrNull()} ${r.maxOrNull()}")
}

 

위 코드에서 .sorted() 를 이용하여 인덱스로 print를 하게 만들면... resolve2() 와 비슷한 성능을 낸다.

반응형
저작자표시 비영리 (새창열림)
'CodingTest' 카테고리의 다른 글
  • (백준/Java) 1152번 : 단어의 개수 (stream().filter() 사용기)
  • (백준/Java) 1181번 : 단어 정렬 (그리고 의문)
  • (백준/Kotlin) 2839번 : 설탕 배달(해설)
  • (백준/Kotlin) 11050번 : 이항 계수 1
Kua
Kua
정보 공유, 개인 정리 공간 입니다.
  • Kua
    Kua's Miscellaneous
    Kua
    • 분류 전체보기 (185)
      • 대문 (2)
      • Tips (25)
        • Chrome (2)
        • Windows (4)
        • IDE (3)
        • 기타 (16)
      • CodingTest (44)
      • Language (20)
        • PHP (5)
        • C# (7)
        • Java (1)
        • Kotlin (7)
      • Framework & Runtime (16)
        • SpringBoot (12)
        • Node.js (2)
        • Vue.js (1)
        • Gradle (1)
      • DevOps (13)
        • Linux (1)
        • Docker (4)
        • Kubernetes (2)
        • Apache Kafka (1)
        • AWS (1)
      • 일상다반사 (53)
        • 도서 (1)
        • 개발 (8)
        • 후기 - IT (7)
        • 후기 - 일상 (13)
        • 차가리 (4)
        • 방송통신대학교 (4)
        • 음식 (2)
      • Games (12)
        • Minecraft (7)
        • VR (2)
        • 그외 (3)
  • 최근 글

  • 인기 글

  • 태그

    후기
    Silver5
    백준
    java
    minecraft
    Windows
    c#
    코딩테스트
    spring
    갤럭시
    Plugin
    알고리즘
    Kotlin
    Algorithm
    github
    error
    bronze2
    bronze1
    Spring Boot
    codingtest
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.0
Kua
(백준/Kotlin) 10818번 : 최소, 최대 (시간 복잡도/선형 시간, 메소드 성능 비교)
상단으로

티스토리툴바