오랜만에 만난 보자마자 금방 풀 수 있을 것 같다는 생각이 드는 문제이다. 결과가 1이어야 하니까 1이 나올때까지 반복문을 돌려주면 될 것이고, 입력값이 String
형태이기 때문에 replace
함수를 이용해서 0을 없애고 그때 사라진 0의 갯수를 구하는식으로 짜보면 될 것같다. 문제는 2진수로 변환하는 과정인데 실제로 2진수를 구하는방법처럼 2로 계속 나누는 식은 너무 비효율적일 것 같고 좋은 방법이 있는지 좀 찾아봐야겠다.
source : https://codedragon.tistory.com/7995
어메이징.... 너무 쉬운 방법이 있다.
answer
에 담길 변환횟수, 0의갯수를 저장할 변수를 선언한다.while
문으로 결과가 1이 나올때까지 반복문을 만든다.count
를 1씩 올려주고 그때의 0의 갯수를 zero
에 저장한다.replace
를 이용하여 0을 ""(공백)으로 바꿔주고 그때의 길이만큼 toString(2)
2진수로 바꿔준다.count
와zero
의 값을 순서대로 answer
에 넣어준다.레고레고
뭔가 조금 더 다듬을만한 방법이 있을 것 같은데 일단 이렇게 테스트를 해보자.
통과~!~!