코딩테스트

프로그래머스 | 레벨0 | Kotlin

다시은 2024. 2. 2. 10:06

 


문제 | 배열 원소의 길이

https://school.programmers.co.kr/learn/courses/30/lessons/120854

내 풀이

class Solution {
    fun solution(strlist: Array<String>): IntArray =
    strlist.map { it.length }.toIntArray()
}

map 으로 각 원소를 바로 길이로 바꿨다.

 

 


문제 | 피자 나눠 먹기 (1)

https://school.programmers.co.kr/learn/courses/30/lessons/120814

 

다른 사람 풀이

import kotlin.math.*
class Solution {
    fun solution(n: Int) = ceil(n/7.0).toInt()
}

 

ceil(Double)    올림

floor(Double)   내림

round(Double) 반올림

인수, 반환 타입 모두 Double 형

 


문제 | 대소문자 바꿔서 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181949

내 풀이

fun main(args: Array<String>) {
    val s1 = readLine()!!
    s1.map { if(it.isUpperCase()) it.toLowerCase() else it.toUpperCase() }
    .joinToString("")
    .also { println(it) }
}

컬렉션을 문자열로 변환

joinToString()

: 각각의 요소들을 ',' 로 구분해서 하나의 문자열로 변환

joinToString("")

: ','로 구분되는 문자열을 원하는 문자열로 구분

val list = listOf("가", "나", "다")

list.joinToString()        // 가, 나, 다
list.joinToString()[1]     // ,  
list.joinToString("")      // 가나다

list.joinToString(":")     // 가:나:다
list.joinToString(":")[1]  // :

구분되는 문자열도 원소다!

 

표준 라이브러리 범위 지정 함수

https://kotlinlang.org/docs/scope-functions.html#function-selection

람다식

https://velog.io/@jxlhe46/Kotlin-6