728x90
Coding Test/codility
-
[codility] BinaryGap c++Coding Test/codility 2022. 4. 8. 11:39
문제 설명 10진수 N을 2진수로 바꾼 후, 1과 1 사이에 존재하는 0의 개수를 구하는 문제이다. ex, 1001 -> length : 2 1000010001 -> length : 4 , 3 -> 이 때는 더 큰 수를 return 한다 -> 4 10100 -> length : 1 100000 -> length : 0 -> 1이 하나만 있기 때문에 1과 1사이의 0이 없다. 문제 풀이 1. string 에 2진수 변환 저장 2. 1검사해서 index vector에 저장 3. index vector size가 1이라면 1이 한개라는 뜻이므로 return 0 4. index vector 에 1의 index가 저장되어 있기에 각 index에 빼기 연산을 하여 Binary Gap을 구한다. 5. max 함수를 ..