SW Test/Programmers

[Programmers] Lv1.숫자 짝꿍(Kotlin)

An effort will never betray 😎 2023. 10. 15. 16:39
λ°˜μ‘ν˜•

문제

 

 

μ˜ˆμ‹œ

 

 

풀이

  • X의 ν¬ν•¨λœ 문자λ₯Ό μΉ΄μš΄νŒ…ν•˜λŠ” 배열을 ν•˜λ‚˜ μƒμ„±ν•©λ‹ˆλ‹€.
  • 그리고 Y에 ν¬ν•¨λœ λ¬Έμžκ°€ X의 μΉ΄μš΄νŒ… λ°°μ—΄μ—μ„œ 0 이상인 κ²½μš°μ— κ³΅ν†΅λœ 숫자λ₯Ό λ‹΄λŠ” 배열에 값을 λ„£μŠ΅λ‹ˆλ‹€.
  • 이후 크기가 큰 μˆœμ„œλŒ€λ‘œ μ •λ ¬ν•˜μ—¬ λ°˜ν™˜ν•©λ‹ˆλ‹€.
class Solution {
    fun solution(X: String, Y: String): String {
        var answer: String = ""
        val counts = MutableList(10){0}
        val nums = mutableListOf<Int>()
        
        X.forEach{ 
            counts[it.toString().toInt()]++
        }
        
        Y.forEach {
            if(counts[it.toString().toInt()] > 0){
                nums.add(it.toString().toInt())
                counts[it.toString().toInt()]--
            }
        }
        
        return if(nums.isEmpty()) "-1"
        else if(nums.sum() == 0) "0"
        else nums.sortedDescending().joinToString("")
    }
}

 

 

μ°Έκ³ 

  • ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° 언어인 kotlin의 νŠΉμ„±μ— 맞게 ν•¨μˆ˜λ₯Ό 많이 읡히자 😽
λ°˜μ‘ν˜•