문제:같은길이에 현재 배열에 없는이진숫자를 리턴해라
풀이:현재 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"
}
}
'알고리즘' 카테고리의 다른 글
릿코드 1838. Frequency of the Most Frequent Element 코틀린 (0) | 2023.11.19 |
---|---|
릿코드 1877. Minimize Maximum Pair Sum in Array 코틀린 (0) | 2023.11.18 |
릿코드 1846. Maximum Element After Decreasing and Rearranging 코틀린 (1) | 2023.11.16 |
릿코드 1930. Unique Length-3 Palindromic Subsequences 코틀린 (1) | 2023.11.15 |
릿코드 2785. Sort Vowels in a String 코틀린 (0) | 2023.11.13 |