처음 작성한 소스코드.
간단하다. 0이 몇갠지 세고 0의 개수만큼 빼고(그 개수만큼 0의 총 갯수에 더해주고) 그걸 2진수로 만들고 몇번 도는지 확인하는 소스코드.
def solution(s):
answer = []
howManyZero = 0
counterTrans = 0
while True :
if s == "1" :
break
temp = s
s = s.replace("0", "")
howManyZero += len(temp) - len(s)
s = bin(len(s))
s = str(s)
s = s.replace("0b", "")
counterTrans += 1
answer.append(counterTrans)
answer.append(howManyZero)
return answer
두번째 작성한 소스코드.
def solution(s):
answer = [0,0]
count = 0
zeroNum = 0
while True:
if s=="1":
answer[0], answer[1] = count, zeroNum
return answer
temp = len(s)
s = s.replace("0", "")
zeroNum += temp-len(s)
s = str(bin(int(len(s))))[2:]
count+=1
return answer
바뀐점은 거의 없다.
해봤자 answer에 미리 0,0 넣어서 인덱스로 접근해서 넣는것 정도?
첫번째 소스코드에 "s = ~~" 이런식으로 써있는거 3줄이 1줄로 된거?
그것도 심지어 첫번째때 두번째처럼 하나로 합쳐서 썼다가 뭐가 잘 안되길래 이게 문젠가 싶어서 나눠놨던거라서 딱히 변경된건 없다.