알고리즘 공부/미분류

백준 2750번 with Kotlin #정렬 메소드

_우지 2021. 7. 5. 19:59

수 정렬하기 성공

시간 제한메모리 제한제출정답맞은 사람정답 비율

1 초 128 MB 87155 49355 34230 58.242%

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

예제 입력 1 복사

5 5 2 3 4 1

예제 출력 1 복사

1 2 3 4 5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
fun main(args: Array<String>) {
    println("==================1========================")
    val ml = mutableListOf(541236)
    println(ml)  // [5, 4, 1, 2, 3, 6]
    ml.sort()   // 오름차순 정렬
    println(ml) // [1, 2, 3, 4, 5, 6]
    ml.sortDescending()   // 내림차순 정렬
    println(ml) // [6, 5, 4, 3, 2, 1]
 
 
    println("===================2=======================")
    var ml2 = ml.sorted().toMutableList()   // 오름차순으로 정렬된 List 반환
    println(ml2)
    ml2.sortDescending()    // 내림차순으로 정렬
    println(ml2)
 
 
 
 
    println("====================3======================")
    val ml3 = mutableListOf(2 to "abc"4 to "abc"3 to "qwe"1 to "zwr")
    println(ml3)
    ml3.sortByDescending { it.second }  // second를 기준으로 내림차순
    println(ml3)
    /*
    ====================3======================
    [(2, abc), (4, abc), (3, qwe), (1, zwr)]
    [(1, zwr), (3, qwe), (2, abc), (4, abc)]
     */
 
 
    println("====================4======================")
    val ml4 = ml3.sortedWith( compareBy( {it.second}, {-it.first}) )    // 우선 second 기준으로 오름차순, 만약 second가 동일하다면 first로 내림차순
    println(ml4)
    /*
    ====================4======================
    [(4, abc), (2, abc), (3, qwe), (1, zwr)]
     */
 
    println("====================5======================")
    val ml5 = mutableListOf("1""32""23""4""5")
    val ml6 = ml5.sortedWith( Comparator { a, b ->  (b+a).compareTo(a+b) })
    println(ml5)
    println(ml6)
 
    val ml7 = mutableListOf(25314)
    val ml8 = ml7.sortedWith( Comparator { a, b -> b - a })
    println(ml7)
    println(ml8)
    /*
    ====================5======================
    [1, 32, 23, 4, 5]
    [5, 4, 32, 23, 1]
    [2, 5, 3, 1, 4]
    [5, 4, 3, 2, 1]
     */
}
cs

출처 https://notepad96.tistory.com/entry/Kotlin-8

 

Kotlin sort 정렬 오름차순, 내림차순, 임의 순

1. Sort(정렬) kotlin은 다양한 sort 함수를 제공하여 상황에 맞은 sort 함수를 사용해야 한다. 우선 간단하게 분류를 해보면 우선 sort와 sortDescending 이 있다. sort인 것은 오름차순 sortDescending ..

notepad96.tistory.com

 

 

1
2
3
4
5
6
7
8
9
10
11
fun main(){
    val num = readLine()!!.toInt()
    var arr = MutableList(num,{0})
    for(i in 0 until num){
        arr[i]= readLine()!!.toInt()
    }
    arr.sort()
    for(i in 0 until num){
        arr[i]= readLine()!!.toInt()
    }
}
cs