[ 2024.07.21 ] TIL

yy·2024년 7월 21일

개발일지

목록 보기
88/122
  1. 정규표현식 \D

기존에 [0-9] 로 사용했었는데 \D로 숫자표현을 더 쉽게 할 수 있었다.


  1. 10진수 -> 2진수로 바꾸면...

10진수에서 2진수로 바꾸면 toString(2)을 이용해서 바꾸게 되는데 당연하지만 string으로 바뀐다.

[ '1100', '100', '1111', '1', '1110' ] //이렇게 string값으로 바뀜.

그래서 length를 이용할 수 있게 된다.
그래서 이걸 언제 활용할 수 있냐면...10진수를 2로 나눴을 때 몇 번을 나눠야 1이 몫으로 남느냐를 확인할 때이다.

1로 만들기 코딩테스트

정수를 2로 몫이 1이 남을 때까지 나누는 횟수를 구하는 문제이다.
짝수의 경우는 2로 그냥 나누면 되고, 홀수는 1을 빼고 2로 나누면 된다.

짝수의 경우 2진법으로 나타냈을 때 2로 나누는건 2^0의 자리 하나를 없애는 것과 같다.

<예시> 
14 (10진수) -> 1110 (2진수)
14 / 2 = 7 -> 111 (2진수)

홀수의 경우 1을 뺀 후 2로 나누는 건 2진법으로 나타낸 후 2^0의 1을 0으로 바꾸는 것과 같다. 그 후는 짝수의 경우와 같다.

<예시>
15 (10진수) -> 1111 (2진수)
15 - 1 = 14 -> 1110 (2진수)
14 / 2 = 7 -> 111 (2진수)
profile
시간이 걸릴 뿐 내가 못할 건 없다.

0개의 댓글