BinaryGap - Easy (구현, codilty)
2023. 1. 11. 09:36ㆍ코딩 테스트 준비
728x90
반응형
def solution(N):
binary1 = []
binary = []
sig = []
cnt = 0
while N != 0:
binary.append(N%2)
if N%2 == 1:
if len(binary1) > 0:
sig.append(binary1[-1]-cnt)
binary1.append(cnt)
N = N//2
cnt += 1
binary.reverse()
if len(binary1) == len(binary) or len(binary1) == 1:
return 0
if sum(binary) == 0:
return 0
return (min(sig)+1) * -1
정수를 이진수한 것에서 1과 1 사이의 거리 중 가장 긴 값을 구하는 문제였다.
반복문을 쓰기보다는 한 번의 순회에 필요한 값을 모두 구하고 계산하는 식으로 풀었다.
이게 정확한 풀이인지는 모르겠지만 테스트 결과 100점이 나오긴 했다.
처음 codility 문제를 풀어봤는데 방식이 낯설어서 꽤나 헤멨다. 앞으로 틈틈히 풀어봐야겠다.
728x90
반응형
'코딩 테스트 준비' 카테고리의 다른 글
OddOccurrencesInArray - Easy(배열, Codility) (0) | 2023.01.11 |
---|---|
CyclicRotation - Easy (구현, Codility) (0) | 2023.01.11 |
기지국 설치 - level3 (winter/summer coding) (0) | 2023.01.10 |
제로 - 실버4 (구현문제) (0) | 2023.01.10 |
셀프 넘버 - 실버5 (구현문제) (0) | 2023.01.10 |