알고리즘 문제 풀기(프로그래머스)
https://github.com/hoinlee-moi/Algorithm
JS기본문법 다시 공부
https://github.com/hoinlee-moi/ModernJS
React 강의 듣기
https://github.com/hoinlee-moi/React_prac
크리스마스에도 공부하기~
오늘 알고리즘
다음 큰 숫자 - https://school.programmers.co.kr/learn/courses/30/lessons/12911
function solution(n) {
const count = n.toString(2).match(/1/gi).length
while(true){
n++
if(n.toString(2).match(/1/gi).length===count) break;
}
return n;
}
정규식을 이용하는 방법도 있었고 비트 연산자를 통해 규칙을 파악하여 하는 방법도 있었지만 일단 한번
while
을 이용해 풀어보자 생각햇는데 바로 통과가 됐다.
toString
을 이용한 진법 변환과 문자열에서 일치 조건을 찾는 match
함수를 이용 반환값이 array
이 때문에 length
로 1의 개수를 체크한다while
문을 통해 반복을 돌며 처음 1의 개수를 체크했던 걸 이용해 가장 작은 수를 찾아낸다.리액트를 사용할 땐 컴포넌트의 관계와 주고받음 설계를 잘 생각해보자
이것 때문에 꼬이는 경우가 심심찮게 있는 것 같다.