Recent Posts
Recent Comments
HEROJOON 블로그(히로블)
[Codility] [Lesson1] BinaryGap JAVA 본문
반응형
문제
가장 큰 이진 간격의 길이를 반환하라.
ex) 10010001 일 경우 return 3;
만약 100000이라면 1과 1사이의 gap이 없으므로 return 0;
풀이
public int solution(int N) {
String binaryStr = Integer.toBinaryString(N);
char[] binaryCharArr = binaryStr.toCharArray();
int gap = 0;
int maxGap = 0;
for (char c: binaryCharArr) {
if (c == '1') {
if (maxGap < gap) {
maxGap = gap;
}
gap = 0;
} else {
gap += 1;
}
}
return maxGap;
}
테스트
- 주어진 값
int N = 561892;
- 결과 값
3
반응형
'코딩테스트' 카테고리의 다른 글
[Codility] [Lesson3] PermMissingElem JAVA (0) | 2020.11.04 |
---|---|
[Codility] [Lesson3] FrogJmp JAVA (0) | 2020.11.04 |
[Codility] [Lesson2] OddOccurrencesInArray JAVA (0) | 2020.11.04 |
[Codility] [Lesson2] CyclicRotation JAVA (0) | 2020.11.04 |
Comments