티스토리 뷰

코드카타

 

음양 더하기

 

문제

 

 

정답

class Solution {
    fun solution(absolutes: IntArray, signs: BooleanArray): Int {
        var res: Int = 0
        for(i in 0 until absolutes.size){
            if(signs[i]) res += absolutes[i] 
            else res += absolutes[i] * -1
        }
        return res
    }
}

for문 돌려서 해결하며 되는 문제이다.

 

0 until absolutes.size

배열은 0번지 부터 시작하므로 (0 ~ 배열크기 - 1)의 범위로 for문을 돌려야한다.

 

 

 

핸드폰 번호 가리기

 

문제

 

 

정답

class Solution {
    fun solution(phone_number: String): String {
        val hideLength = phone_number.length - 4
        val hiddenPart = "*".repeat(hideLength)
        return hiddenPart + phone_number.substring(phone_number.length - 4)
    }
}

(전화번호길이 - 4) 만큼 *로 이루어진 문자열 hiddenPart를 선언하고

hiddenPart와 전화번호 뒷 4자리를 합친 문자열을 반환한다.

 

 

repeat

val result = "Hello".repeat(3)
println(result) //HelloHelloHello

repeat함수는 지정된 횟수만큼 문자열을 반복하여 새 문자열을 생성한다.

 

 

subString

val text = "Hello, World!"
println(text.substring(7))  // "World!"


val text = "Hello, World!"
println(text.substring(0, 5))  // "Hello"

substring(startIndex: Int) < startIndex에서 시작하여 문자열의 끝까지의 부분을 추출한다.

substring(startIndex: Int, endIndex: Int) < startIndex에서 시작하여 endIndex 전까지의 부분을 추출한다.

 

 

 

없는 숫자 더하기

 

문제

 

 

정답

class Solution {
    fun solution(numbers: IntArray): Int {
        return 45 - numbers.sum()
    }
}

1~9까지의 수를 모두 더하면 45이다.

없는 숫자를 굳이 찾을 필요없이 (45 - numbers배열 요소의 합)을 반환하면 된다.

 

sum() 함수를 이용해 배열 요소들의 합을 구할 수 있다.

 

 

 

제일 작은 수 제거하기

 

문제

 

 

정답

class Solution {
    fun solution(arr: IntArray): IntArray {
        if (arr.size == 1) return intArrayOf(-1)
        return arr.filter { it != arr.minOrNull() }.toIntArray()
    }
}

minOrNull() 함수로 배열의 최솟값을 구할 수 있다.

 

배열의 크기가 1이면 [-1]을 반환하고 배열의 크기가 1보다 크다면

filter 함수를 이용해 배열에서 가장작은 값을 제거한 배열을 반환한다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함