티스토리 뷰

1. 문제

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. 설명

이진수 10001001이 있다면 1과 1사이의 0의 갯수중 최댓값을 구하는 문제.

입력받은 N을 2진수(String)로 바꾸고, 한 글자씩 비교해가면서 구했다.

Time Spent는 1M 나왔다.

 

3. 코드

class Solution {
    public int solution(int N) {
        // 10 -> 2
        String N2 = Integer.toBinaryString(N);
        
        int result = 0;
        int count = 0;
        
        for(int i=0; i<N2.length(); i++) {
            if(N2.charAt(i)=='1') {
                if(count!=0) // 사이값 구하기
                    result = result<count ? count : result;
                count = 0;
                continue;
            }
            // 1이 아니면 count++
            count++;
        }
        
        return result;
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday