Free Lines Arrow
본문 바로가기
Algorithm/Codility

[Codility] BinaryGap

by skahn1215 2022. 10. 29.
728x90
반응형

문제

 

분석

  • 이진 수에서 1로 둘어쌓인 0 의 최대 길이를 찾는 거다.
  • 10001001 -> 4 값이 나와야 한다.
  • 1001000001 -> 5 값이 나와야 한다.
  • 첫번째 1 을 찾고 두번째 1을 찾을때 계산된 값과 맥스값을 비교하면 끝

 

구현

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

// you can also use imports, for example:
import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

class Solution {        
    public String convertBinary(int n) {       
        return Integer.toBinaryString(n);   
    }    
    public int countMaxGap(String n) {     

        boolean isFirstOne = false;        
        boolean isSecondOne = false;        

        int maxGap = 0;        
        int tmpGap = 0;        
        for (int i = 0; i < n.length(); i++) {            
            if (n.charAt(i) == '1') {      
                if (isFirstOne) {
                    isSecondOne = true;
                } else {        
                    isFirstOne = true;
                }
                if (isFirstOne && isSecondOne) {                    
                    if (tmpGap > maxGap) {                        
                        maxGap = tmpGap;                        
                    }                    
                    isSecondOne = false;      
                    tmpGap  = 0;                    
                }           
            } else {                
                tmpGap++;    
            }       
        }       
        return maxGap;    
    }    
            
    public int solution(int N) {     
       // write your code in Java SE 8   
       String n = convertBinary(N);        
       return countMaxGap(n);   
    }
}

 

 

결과

 

 

 

문제 사이트:

https://app.codility.com/programmers/lessons/1-iterations/binary_gap/

728x90
반응형

'Algorithm > Codility' 카테고리의 다른 글

[Codility] Clone Graph  (0) 2023.01.22
[Codility] Product of Array Except Self  (0) 2022.12.17

댓글