알고리즘
릿코드 1980. Find Unique Binary String 코틀린
rkrkrr0101
2023. 11. 17. 03:06
문제:같은길이에 현재 배열에 없는이진숫자를 리턴해라
풀이:현재 length의 최대십진수(2^n-1)를 구한다음,해당 십진수까지 반복돌리고,해당숫자를 이진수로 바꿔서 배열에 있는지 확인후 없으면 리턴
import kotlin.math.pow
class Solution {
fun findDifferentBinaryString(nums: Array<String>): String {
val numList=nums.toList().sorted()
val arrLength = numList[0].length
val maxNum = ((2.0).pow(arrLength) - 1).toInt()
for (i in 0 ..maxNum){
val toBinaryString = Integer.toBinaryString(i)
val format = String.format("""%0${arrLength}d""",toBinaryString.toInt())
if(!numList.contains(format)){
return format
}
}
return "a"
}
}