Simple&Natural
Codilidy lesson1 - binary gap 본문
728x90
10진수 -> 2진수 변환을 직접 구현하지 않아도 자체적으로 지원하는 내장함수를 이용하면 된다.
각 문자를 완전탐색하면서 0인 경우 카운트를 올려주고,
1인 경우 여태까지 계산된 0의 갯수를 비교해주면 되는 간단한 로직이다.
fun solution(N: Int): Int {
var answer = 0
val binaryString = Integer.toBinaryString(N)
var isCounting = false
var tmpCount = 0
binaryString.forEach { char ->
if (char=='1') {
if (!isCounting) {
isCounting = true
} else {
if (tmpCount > answer) {
answer = tmpCount
}
tmpCount = 0
}
} else {
tmpCount++
}
}
return answer
}
https://app.codility.com/demo/results/trainingS758NM-MH3/
728x90
'코딩테스트 풀이 > Codility' 카테고리의 다른 글
Codility lesson3 - TapeEquilibrium (0) | 2022.04.28 |
---|---|
Codility lesson3 - PermMissingElem (0) | 2022.04.27 |
Codility lesson3 - FrogJmp (0) | 2022.04.20 |
Codility lesson2 - odd (0) | 2022.04.20 |
Codility lesson2 - cyclic rotation (0) | 2022.04.18 |