[프로그래머스] 이진 변환 반복하기

hwakyoung·2024년 4월 24일
0

코딩 테스트

목록 보기
2/6
post-thumbnail

👉🏻 문제


👉🏻 입출력 예시



👉🏻 문제풀이

answer = [0,0]

while(s !=='1'){
  
  //문자열 s에서 1의 개수를 구하는 것
  let res = s.split('').filter(a=> a==='1').length
  
  //answer의 0번째 방에는 반복을 한 횟수를 넣어야 한다.
  answer[0]++
  
  //1번 방에는 0을 제거한 횟수를 넣어야 하기 때문에 
  // res 즉 문자열 길이에서 1의 개수를 구한 것을 빼면 나머지 값을 구할 수 있다.
  answer[1] += s.length-res
 
  //toString을 사용하여 2진수로 변환시켜준다. 
  s = res.toString(2);
}
  

내가 생각할 때 이 코드에서 가장 중요한 부분은 이진수로 변환하는 부분이 아닐까 싶다.
이 문제에 핵심이기도 하고 무엇보다 toString()을 사용하여 바꾸는 것을 깨달았기 때문이다.


profile
fire-irror

0개의 댓글

관련 채용 정보