fun Collection.powerset(): Set = powerset(this, setOf(setOf())) private tailrec fun powerset(left: Collection, acc: Set): Set = when { left.isEmpty() -> acc else ->powerset(left.drop(1), acc + acc.map { it + left.first() }) } fun main() { val list1 = listOf(1,2,3,4,5,6,7,8) val list2 = listOf(1,2,3) val a = list1.powerset() println(a) println(a.size) val b = list2.powerset() println(b) } github...
fun solution(str1: String, str2: String) : Int { val ALTHA = 65536 val regex = Regex("[a-zA-Z][a-zA-Z]") var union = 0 var intersection = 0 val str1List = str1.toList().windowed(2).mapNotNull{ list -> var newStr : String = String(list.toCharArray()).toLowerCase() if(regex.matches(newStr)) newStr else null } val str2List = str2.toList().windowed(2).mapNotNull{ list -> var newStr : String = String..
ํ์ฅํจ์ info๋ฅผ ํตํด ํธ์ถ ํด๋์ค๋ช ๊ณผ ๋ฉ์๋๋ช ์ถ๋ ฅ class PopcornPopper{ fun on() { info() } } fun T.info(): T { val res = this Throwable().stackTrace[1].apply { println("${generateTag()} ${generateMessage(res)}") } return this } fun T.info(msg: () -> Any): T { Throwable().stackTrace[1].apply { println("${generateTag()} ${generateMessage(msg())}") } return this } fun StackTraceElement.generateTag() = className.subst..
import kotlin.test.* class Solution { fun solution(s : String) : String { return tailrecChangeBalancedBracketToRightBracket("", s, "") } private tailrec fun tailrecChangeBalancedBracketToRightBracket(prev : String, s : String, next : String) : String { return when { s == "" -> prev + "" + next s.length == 2 -> prev + "()" + next else -> { val u = getFirstBalancedMinimum(s) val v = s.replaceFirst..