알고리즘 문제 풀기(프로그래머스)
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의 개수를 체크했던 걸 이용해 가장 작은 수를 찾아낸다.리액트를 사용할 땐 컴포넌트의 관계와 주고받음 설계를 잘 생각해보자
이것 때문에 꼬이는 경우가 심심찮게 있는 것 같다.