/**
* 문제 : https://codility.com/c/run/training8FKHPA -U9P
* - 양의 정수를 입력받아서 2진표현법으로 변환시 표시되는 0의 최대 자릿수 구하기
* - 예) 10진수 1041 -> 2진수 -> 10000010001 -> 답은 5
*
* @author
*/
public class Solution {
public int solution(int n) {
int maxLength = 0;
int currentLength = 0;
while (n > 0) {
if (n % 2 == 1) { //10진수를 2진수로 변환하는 방법은, 10진수를 2로 나눈 나머지(1또는 0)의 연속숫자이다.
currentLength = 0;
} else {
currentLength = currentLength + 1;
}
if (currentLength > maxLength) {
maxLength = currentLength ;
}
n = n / 2;
}
return maxLength ;
}
public static void main(String[] args) {
int target = 1041;
int result = new Solution().solution( target);
System. out.println("Test " + target + " result is " + result);
}
}