728x90
세 개의 구분자
class Solution {
fun solution(myStr: String): Array<String> = myStr
.split(Regex("[abc]"))
.filterNot { it.isEmpty() }
.ifEmpty { listOf("EMPTY") }
.toTypedArray()
}
배열의 원소만큼 추가하기
class Solution {
fun solution(arr: IntArray): IntArray {
var result = intArrayOf()
arr.map { num ->
repeat(num){
result = result.plus(num)
}
}
return result
}
}
빈 배열에 추가, 삭제하기
import java.util.Stack
class Solution {
fun solution(arr: IntArray, flag: BooleanArray): IntArray {
var result = Stack<Int>()
for (i in 0 until arr.size){
if (flag[i]){
repeat(arr[i] * 2){
result.push(arr[i])
}
}else{
repeat(arr[i]){
result.pop()
}
}
}
return result.toIntArray()
}
}
배열 만들기 6
class Solution {
fun solution(arr: IntArray): IntArray {
var stk: IntArray = intArrayOf()
var i = 0
while (i < arr.size){
if (stk.isEmpty()) stk = stk.plus(arr[i])
else if (stk.last() == arr[i]) stk = stk.sliceArray(0 until stk.lastIndex)
else if (stk.last() != arr[i]) stk = stk.plus(arr[i])
i++
}
if (stk.isEmpty()) stk = stk.plus(-1)
return stk
}
}
무작위로 K개의 수 뽑기
class Solution {
fun solution(arr: IntArray, k: Int): IntArray {
var answer: IntArray = arr.distinct().toIntArray()
if (answer.size < k){
repeat(k - answer.size){
answer = answer.plus(-1)
}
}
return answer.sliceArray(0 until k)
}
}
728x90