목록분류 전체보기 (86)
undefined

1. Portal 이란? - 컴포넌트를 원하는 위치에 렌더링 할 수 있다. ex) root의 바깥쪽 2. 사용이유? - 독립적인 위치에서 관리가능 (그러나 원래의 react의 기능 그대로 사용 가능) - modal 또는 sideBar 등 같이 논리적으로 맨 위에 있어야 할 컴포넌트를 맨 위의 위치로 이동 가능 3. 사용 방법 (1) index.html에 portal을 위한 위치 만들기 overlay-root를 만들었다. root는 기존 App.js 등이 들어간 div (2) reactDOM을 import import ReactDOM from 'react-dom'; portal은 reactDOM의 기능이다. (3) portal의 대상 만들기 const ModalOverlay = (props) => { re..

문제 설명 문제 풀이 function solution(numbers, hand) { // 배열에 값을 부여 const list ={ 1:[0,0], 2:[0,1], 3:[0,2],4:[1,0],5:[1,1],6:[1,2],7:[2,0], 8:[2,1],9:[2,2],'*':[3,0],0:[3,1],'#':[3,2]} let answer = '' // 손가락의 초기값 let left = list['*'] let right = list['#'] for(let n of numbers) { // n의 현재위치 let[i,j] = list[n] // L[1,4,7,] or R[3,6,9] 그리고 각 손가락의 현재위치 업데이트 if(j === 0) { answer += 'L' left = list[n] } else..

문제 설명 문제 풀이 function solution(sizes) { const rotated = sizes.map(([w,h])=> w > h ? [w,h] : [h,w]) let wArr = [] let hArr = [] rotated.map(([w,h]) => { wArr.push(w) hArr.push(h) }) return Math.max(...wArr) * Math.max(...hArr) } 1. 배열을 맵핑하여 w,h를 비교, 각자 큰 쪽으로 큰 수 몰아주기 2. 배열에 각각 넣어준다 3. 가장 큰 수를 찾아서 곱해준다. *다른 분의 코드를 참고하였습니다. 개선 사항 function solution(sizes) { const rotated = sizes.map(([w,h])=> w > h ..

문제 설명 문제 풀이 function solution(nums) { const set = new Set(nums) const arraySet = [...set] if(arraySet.length > nums.length/2 ) { return nums.length/2 } else { return arraySet.length } } 1. set 으로 중복된 값 모두 제거 2. array로 스프레드 3. 위의 배열의 길이를 num의 길이를 2로 나눈 수와 비교하여 더 작은 수의 값 리턴 개선 사항 function solution(nums) { const arraySet = [...new Set(nums)] return arraySet.length > nums.length/2 ? nums.length/2 :..

문제 설명 문제 풀이 function solution(n, lost, reserve) { const students = new Array(n).fill(1) lost.map(l => students[l-1]--) reserve.map(r => students[r-1]++) students.map((_,i)=> { if(students[i] > 1 && students[i-1] === 0 ) { students[i]-- students[i-1]++ } else if (students[i]>1&&students[i+1] === 0) { students[i]-- students[i+1]++ } }) return students.filter(s => s > 0).length } 1. 학생 수 n 길이 만큼의 배..

문제 설명 문제 풀이 function solution(answers) { const one = [1,2,3,4,5] const two = [2,1,2,3,2,4,2,5] const thr = [3,3,1,1,2,2,4,4,5,5] let arr1 = [] let arr2 = [] let arr3 = [] answers.map((e,i) => { if(e===one[i%5]) { arr1.push(true) } if(e===two[i%8]) { arr2.push(true) } if(e===thr[i%10]) { arr3.push(true) } }) const lengthArr = [arr1.length,arr2.length,arr3.length] const maxNum = Math.max(...length..