Algorithm

[์ฝ”๋”œ๋ฆฌํ‹ฐ] Lesson 1 Binary Gap Java

seulye 2021. 12. 22. 20:55

 

์ •๋ง ๋„ˆ๋ฌด ์˜ค๋žœ๋งŒ์— ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ๊ทธ๋ƒฅ ๊ฐ ์ตํžˆ๊ธฐ ์šฉ์œผ๋กœ ํ’€์–ด๋ดค๋‹ค.

์ฝ”๋”œ๋ฆฌํ‹ฐ๋Š” ์ฒ˜์Œ์ด๋ผ ์ข€ ๋‹นํ™ฉํ•˜๊ธด ํ–ˆ๋Š”๋ฐ, ๋˜๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ์นœ์ ˆํžˆ ์•Œ๋ ค์ค˜์„œ ์ข‹์•˜๋‹ค.

 

 

class Solution {
    public int solution(int N) {
        //1. binary ๋ณ€ํ™˜
        String binaryString = Integer.toBinaryString(N);
        char[] binaryArray = binaryString.toCharArray();
        
        //2. gap ๊ตฌํ•˜๊ธฐ
        int result = 0;
        int count = 0;
        for (int i=0; i<binaryArray.length; i++){
            if (binaryArray[i] == '0') {
                count++;
            } else {
                result = Math.max(count, result);
                count = 0;
            }
        }
        return result;
    }
}

 

๋‚ด๊ฐ€ ์ฒ˜์Œ์— ๋„ˆ๋ฌด ์–ด๋ ต๊ฒŒ ํ’€์—ˆ์—ˆ๋‹ค.

1๋„ ๋ญ”๊ฐ€ ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด 0์ด ์•„๋ฌด๋ฆฌ ๊ณ„์† ๋‚˜์™€๋„

1์ด ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์•ˆ ๋‚˜์˜ค๋ฉด count๋ฅผ result์— ์ €์žฅํ•  ์ˆ˜๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ฒดํฌ๊ฐ€ ๋œ๋‹ค.