본문 바로가기

분류 전체보기

(432)
[230323] 유한소수 판별하기: toFixed 유한소수 판별하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 🧸 1. a, b의 최대공약수 찾음(gcd) 2. b를 gcd로 나눔 = b 3. b를 2와 5로 나눌 수 있을 때까지 나눔 = b 4. b가 1이면 1, 아니면 2 function solution(a, b) { const getGCD = (x, y) => x % y === 0 ? y : getGCD(y, x % y); const gcd = getGCD(a, b); let bb = b / gcd; while(bb % 2 === 0 || bb % 5 === 0) { if(bb % 2 ..
[230322] 등수 매기기: indexOf 등수 매기기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 두 과목의 합을 구함 =sumScore 그것을 정렬함 =sortedScore 등수를 넣을 배열을 생성함 =answer. 배열에는 Null이 들어가 있다. rank = 1을 두고, sortedScore의 마지막 인덱스가 가장 높은 점수이므로 이것을 max에 저장한다. sumScore를 순회하고 그 값이 max와 동일하면, answer 의 해당 인덱스에 rank를 넣음. 그리고 sumScore의 해당 인덱스에는 -1 값을 넣어서 해당 인덱스는 등수를 매겼음을 표시하여 값을 없앤다. → 이것을..
[230321] 특이한 정렬 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🧸 sort()는 배열 주소를 참조하여 수정하므로, 원본 데이터를 수정한다는 사실을 주의하자! 내 풀이 -k 더하고 절댓값인 배열 생성 = numArray numlist의 각 숫자를 -k 더함 = x x < 0 면 numArray에 -x가 있는지 확인 있으면 +0.5 하기 (꼭 0.5가 아니어도 됨. 0.1이어도 된다. 후에 확인용으로 더하는 것임) numPointArray를 정렬함 =sortedNumArray sortedNumArray에 각 숫자를 보고 정수면 +n 정수가 아니면 -num +n+0.5 ..
[230321] 최대공약수(GCD), 최소공배수(LCM) 최대공약수(GCD) 두 수 A와 B의 공통된 약수 중 가장 큰 정수 가장 쉬운 방법: 2부터 min(A,B)까지 모든 정수로 나눴을 때 나머지 값이 0인지 보기 (A % GCD) const getGCD = (num1, num2) => { let gcd = 1; **for** (let i = 0; i { let lcm = 1; **while** (true) { if (lcm % num1 === 0 && lcm % num2 === 0) { break; } lcm++; } return lcm; } 유클리드 호제법을 이용한 구현 유클리드 호제법의 기본 원리 🧸 num1 % num 2 = r 라면, GCD(num1, num2) = GCD(num2, r) 이다. 따라서 r = 0 일 때, num2는 최대공약수이다...
yarn vs. npm 1. 병렬 설치 여부에 따른 속도 차이 npm : 순차적 처리 yarn : 병렬 처리 -> 퍼포먼스, 속도 향상 속도 차이: yarn > npm 2. Automatic Lock file generation(자동 lock 파일 생성) 두 패키지 모두 프로젝트의 종속성과 버전 번호를 추적한다. json 파일 종속성을 설치할 때마다 종속성 버전이 버전 번호 앞에 ^로 시작할 수 있다. 즉, 다른 시스템에 모든 패키지를 설치하거나 설치할 명령을 수동으로 실행할 때마다 패키지 관리자가 릴리즈된 최신 버전을 찾는다. -> 최신 버전이 있는 경우 패키지에 언급된 버전이 아니라 최신 버전으로 자동 설치된다. 패키지를 자동으로 변경하지 않으려면 두 가지 방법이 있는데, 잠금 파일을 생성하여 한 번에 특정 버전만 설치되기..
[React] 엘리먼트 리스트에 key가 왜 필요해? key 엘리먼트 리스트를 만들 때 포함해야 하는 특수한 문자열 attribute. **React가 어떤 항목을 변경, 추가, 삭제할지 식별하는 것을 돕는다.** 자식에 대한 재귀적 처리 React는 기본적으로 기존 트리와 이후 트리의 자식들을 동시에 보고, 차이점이 있으면 DOM을 변경한다. 예로 들어서 자식의 끝에 엘리먼트를 추가하면 변경은 잘 작동한다. first second first second third React는 두 트리에서 first 가 일치하는 것을 확인하고, second가 일치하는 것을 확인한다. 그리고 마지막을 third를 트리에 추가한다. 문제점 하지만 위와 같이 단순히 리스트 맨 아래에 추가하면 괜찮지만, 리스트 맨 앞에 엘리먼트를 추가하는 경우에는 성능이 좋지 않다. 예를 들면 ..
[js]tilde(~)와 double tilde(~~) tilde(~) 연산자 비트 연산자. NOT의 기능을 한다. 2진수의 0 1 로 바꾼다. const a = 5; // 0000000000000101 console.log(~a); // 1111111111111010 // expected output: -6 const b = -3; // 1111111111111101 console.log(~b); // 0000000000000010 // expected output: 2 하지만 저것을 콘솔에 실행시켜 보면 expected output과 같이 -6,2 가 나온다. 이를 이진수로 직접 눈으로 확인 하는 법은 없을까? toString() 메서드를 이용하여 이진수로 변환하기 toString() 메서드를 이용하면 10진수를 이진수로 바꿀 수 있다. const a =..
[git] Error : remote: No anonymous write access. git push 하는데 다음 문제로 인해 push가 안됐다. Git Hub 홈페이지 > Settings > Developer settings > Personal access tokens 참고한 자료의 필자는 토큰을 생성하셨는데, 나는 이미 있는 토큰을 regenerate했다. regenerate하고 토큰을 받아온 후 아래 명령어를 입력한다. git remote set-url origin https://{토큰}@github.com/{깃허브이름}/{repost이름}.git 그리고 push하면 성공한다! 참고 자료 https://mingg123.tistory.com/112

반응형