코딩 테스트/Codility

코딜리티 - BinaryGap 문제 (자바)

app.codility.com/programmers/lessons/1-iterations/

 

1. Iterations lesson - Learn to Code - Codility

Find longest sequence of zeros in binary representation of an integer.

app.codility.com

숫자를 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;
    }
}