본문 바로가기

분류 전체보기267

[React]라이프사이클 Lifecycle (+unique key prop에러) Lifecycle 리액트 라이프 사이클 (링크) componentDidMount() componentDidMount()까지는 DOM에 없다 componentDidMount()이 선언되는 순간부터 사용할 수 있음 일회용. 한번만 불리고 땡! Re-render의 조건 setState가 업데이트 됐을 때 props가 바꼈을 때 "리렌더"가 된다. 기본 LifeCycle 컴포넌트 생성 시 construct > componentWillMount > render > componentDidMount 순으로 진행 컴포넌트를 제거할 때는 componentWillUnmount 메소드만 실행 컴포넌트의 prop이 변경될 때 componentWillReciveProps > shouldComponentUpdate > compo.. 2021. 10. 6.
[Algorithm 013] JS - complexNumberMultiply Q. 두 개의 input에 복소수(complex number)가 string 으로 주어집니다. 복소수란 a+bi 의 형태로, 실수와 허수로 이루어진 수입니다. input으로 받은 두 수를 곱해서 반환해주세요. 반환하는 표현도 복소수 형태의 string 이어야 합니다. 복소수 정의에 의하면 (i^2)는 -1 이므로 (i^2) 일때는 -1로 계산해주세요. (제곱 표현이 안 되어 i의 2제곱을 (i^2)라고 표현했습니다.) input은 항상 a+bi 형태입니다. output도 a+bi 형태로 나와야 합니다. 예) Input: "1+1i", "1+1i" Output: "0+2i" (1 + i) * (1 + i) = 1 + i + i + i^2 = 2i 2i를 복소수 형태로 바꾸면 0+2i. Input: "1+-.. 2021. 10. 6.
#TIL #210920-1003 09월 20일 (월) - 09월 26일(일) Weekly I learned (추석 + 모더니 백신 2차 와중에 깨알 정리한 몇 가지) GitHub명령어 정리 JS 1주차 test 다시 풀기 (내용) HTTP 세션 다시보기 (정리) danstagram project > React Login 페이지 - id-@포함/pw-5자이상 일때 로그인 버튼 활성화 (commit) Main 페이지 - 댓글 등록 기능 09월 27일 (월) 오늘 공부 한 것 Codekata 3주 - 1일차 (romanToNum) 인증 Authentication & 인가 Authorization 세션 수강 후 정리ing danstagram project > React Main 페이지 - 댓글 등록 기능 추가 수정 (commit) Main 페.. 2021. 10. 6.
[Algorithm 012] JS - reverseString Q. 문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요. 새로운 배열을 선언하면 안 됩니다. 인자로 받은 배열을 수정해서 만들어주세요. A. 답 const reverseString = s => { return s.reverse() }; reverseString(["h","e","l","l","o"]) //[ 'o', 'l', 'l', 'e', 'h' ] 2021. 10. 5.
[Algorithm 011] JS - topK Q. nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요. nums = [1,1,1,2,2,3] k = 2 return [1,2] nums = [1] k = 1 return [1] A. 답 nums = [1,1,2,2,2,3]; k = 2; function topK(nums, k) { const obj = {}; nums.forEach((x) => { if(obj[x]) { obj[x] = obj[x] + 1; }else{ obj[x] = 0 + 1; } }); let arr = Object.values(obj).sort((a, b) => b - a).slice(0, k); const result = []; for(i = 0; i < arr.length;i++.. 2021. 10. 3.
[Algorithm 010] JS - moreThanHalf Q. 숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. 예를 들어, nums = [3,2,3] return 3 nums = [2,2,1,1,1,2,2] return 2 조건 : nums 배열의 길이는 무조건 2개 이상 A. 처음 답 function mortThanHalf (nums) { let obj = {}; nums.forEach((x)=>{ obj[x] = (obj[x] || 0)+1; }) const value = Object.values(obj).sort((a,b) => {return b - a})[0]; const max = Object.keys(obj).filter((a)=>obj[a]===v.. 2021. 10. 2.
[React]terminal에서 npm종료 할 때, 단축키 "ctrl + c" React 프로젝트 중에 페이지 확인하느라 터미널에서 npm start 시키다가 수정 후 git으로 commit 할 때 git명령어가 실행 안돼서 당황.... 터미널을 종료했다가 다시 켜서 commit을 하는 걸 4번 정도 했을 때 방법을 찾았다. 구글링 키워드 'npm 종료' terminal에서 npm종료 할 때, 단축키 "ctrl + c" 2021. 9. 27.
[Algorithm 009] JS - romanToNum Q. 로마자에서 숫자로 바꾸기 1~3999 사이의 로마자 s를 인자로 주면 그에 해당하는 숫자를 반환 Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 로마자를 숫자로 읽는 방법은 로마자를 왼쪽부터 차례대로 더하면 됨 III = 3 XII = 12 XXVII = 27 그런데 4를 표현할 때는 IIII가 아니라 IV 뒤의 숫자에서 앞의 숫자를 빼주는 형식 예) 9는 IX I는 V, X앞에 와서 4, 9 X는 L, C앞에 와서 40, 90 C는 D, M앞에 와서 400, 900 처음 접근 법 function romanToNum(s) { const symbolArr= ['I', 'V', 'X', 'L', 'C', 'D', 'M']; const numValue = [1, .. 2021. 9. 27.