app.codility.com/programmers/lessons/1-iterations/
숫자를 2이진법 문자로 변경한 뒤 두번째 문자부터 0이면 세고 1이면 센값을 max와 비교하여 답을 구함.
2진법으로 변경하면 맨앞으로 숫자는 1이므로 그다음부터 체크한다.
// 코딜리티 - BinaryGap 문제
class BinaryGap {
public int solution(int N) {
int result = 0;
int count = 0;
String str = Integer.toString(N , 2);
for(int i = 1; i < str.length(); i++) {
if(str.charAt(i) == '0') {
count++;
}else {
result = Math.max(result, count);
count = 0;
}
}
return result;
}
}
'코딩 테스트 > Codility' 카테고리의 다른 글
코딜리티 - TapeEquilibrium 문제 (자바) (0) | 2021.03.17 |
---|---|
코딜리티 - PermMissingElem 문제 (자바) (0) | 2021.03.17 |
코딜리티 - FlogJump 문제 (자바) (0) | 2021.03.17 |
코딜리티 - OddOccurrencesInArray 문제 (자바) (0) | 2021.03.17 |
코딜리티 - CyclicRotation 문제 (자바) (0) | 2021.03.17 |