본문 바로가기
반응형

JS18

1688. Count of Matches in Tournament 문제 우승자를 뽑는 토너먼트다. 팀이 홀수이면 +1을 하고 2로 나누고 팀이 짝수이면 그대로 2로 나누면 된다. 그리고 나눈 나머지들을 다 더해서 총 매치 수를 반환하면 된다. 현재 풀이 /** * @param {number} n * @return {number} */ var numberOfMatches = function(n) { let sum = 0; while(n > 1){ if(n %2 === 1){ n=Math.floor(n/=2) sum+=n n+=1 }else{ n=Math.floor(n/=2) sum+=n } } return sum }; 몫에 소수점이 필요없어서 floor 함수를 이용했다. 그다음은 n이 홀수인지 짝수에 따라 분기를 처리해서 해결했다. 예전 풀이 /** * @param {n.. 2022. 6. 21.
코어 자바스크립트 1장 데이터 타입(06,07) 이 글은 전적으로 코어 자바스크립트를 읽고 나름대로 요약한 글이다. undefined와 null 자바스크립트에는 '없음'을 나타내는 값이 두 가지가 있습니다. 바로 undefined와 null입니다. 두 값의 의미는 같지만, 미세하게 다르고, 사용하는 목적 또한 다릅니다. undefined는 사용자가 명시적으로 지정할 수도 있지만 값이 존재하지 않을 때 JS 엔진이 자동으로 부여하는 경우도 있습니다. 사용자가 undefined를 지정하는 경우는 달리 덧붙일 내용이 없어 넘어가고, JS엔진이 자동으로 부여하는 경우에 대해 살펴봅시다. JS엔진은 사용자가 응당 어떤 값을 지정할 것이라고 예상되는 상황임에도 실제로는 그렇게 하지 않았을 때 undefined를 반환합니다. 다음 세 경우가 이에 해당합니다. 1... 2022. 6. 20.
1588. Sum of All Odd Length Subarrays 문제 배열의 개수가 홀수 일 때만 그 안에 값들을 더하는 문제다. 현재 풀이 /** * @param {number[]} arr * @return {number} */ var sumOddLengthSubarrays = function(arr) { let sum = 0 for(let i = 0; i < arr.length; i++){ for(let j = i; j 2022. 6. 15.
1791. Find Center of Star Graph 문제 그림을 보면 숫자 2가 다른 숫자들과 연결돼있다. 문제의 답은 숫자 2처럼 커넥션이 되는 숫자를 찾는 문제다. 현재 풀이 /** * @param {number[][]} edges * @return {number} */ var findCenter = function(edges) { let obj = {} for(let item of edges){ 버전 2 for(let num of item){ obj[num] ? obj[num] += 1 : obj[num] = 1; if(obj[num] > 1){ return num } } } 버전 1 // item.map(num=> { // obj[num] ? obj[num] += 1 : obj[num] = 1; // }) // for(let num in obj){.. 2022. 6. 13.
1773. Count Items Matching a Rule 문제 Rule Key와 Rule Value에 따라서 일치하는 조건에 맞는 개수를 리턴해주는 문제다. 나의 현재 풀이 /** * @param {string[][]} items * @param {string} ruleKey * @param {string} ruleValue * @return {number} */ var countMatches = function(items, ruleKey, ruleValue) { let cnt = 0; let idx = 0 for(let i of items){ switch(ruleKey){ case 'type': idx = 0; break; case 'color': idx = 1; break; default : idx = 2; } if(i[idx] === ruleValue) .. 2022. 6. 13.
코어 자바스크립트 1장 데이터 타입(04) 이 글은 전적으로 코어 자바스크립트를 읽고 나름대로 요약한 글이다. 04 기본형 데이터와 참조형 데이터 불변 값 변수(variable)와 상수(constant)를 구분하는 성질을 '변경 가능성'입니다. 바꿀 수 있으면 변수, 바꿀 수 없으면 상수입니다. 변수와 상수를 구분 짓는 변경 가능성의 대상은 변수 영역 메모리입니다. 한 번 데이터 할당이 이뤄진 변수 공간에 다른 데이터를 재할당할 수 있는 여부가 관건입니다. 기본형 데이터인 숫자, 문자열 boolean, null, undefined, Symbol은 모두 불변 값입니다. 그중 숫자와 문자열을 예로 들어 불변성의 개념을 알아봅시다. var a ='abc'; a = a + 'def'; var b = 5; var c = 5; b = 7; 변수 a에 문자열.. 2022. 6. 12.
반응형