전체 글257 [LeetCode] 19. Remove Nth Node From End of List 접근 두 커서(Two pointer) 개념을 링크드 리스트 문제에 적용시켜 푸는 문제 먼저 간 커서를 n 번 순회시켰을 때, None 인 경우와 그렇지 않은 경우를 모두 생각하여 솔루션을 작성해야 함 가능한 케이스를 모두 면밀히 고민해 볼 필요가 있음 솔루션 class Solution: def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]: cur_left, cur_right = head, head answer = cur_left for i in range(n): cur_right = cur_right.next if cur_right is None: return cur_left.next while cur_rig.. 2023. 3. 16. [머신러닝] Prediction(예측)과 Inference(추론)의 차이 머신러닝을 공부하기 시작할 때 접하는 두 가지 개념이 있습니다. 예측과 추론인데요, 이 두 개념의 차이에 대해 명확히 이해해 보겠습니다. 예측과 추론 머신러닝에서의 예측은 '결과'를 중점으로 아는 것 추론은 원인과 결과의 '인과관계'를 중점으로 아는 것 으로 설명할 수 있습니다. 모델을 선택하는 기준 내가 머신러닝을 하는 목적이 예측인지 추론인지에 따라 적절한 모델을 선택할 수 있습니다. 내가 원하는 것이 무엇인지에 따라 머신러닝 모델이 달라집니다. 내가 예측을 하고 싶을 때 이해 가능성(Interpretability)이 낮은 SVM, Boosting과 같은 모델을 사용하는 것이 유리하며 (굳이 이해 가능성이 높을 필요가 없기에 유연성이 높은 모델을 채택하는 것이 유리), 내가 추론을 하고 싶을 땐 이해.. 2023. 3. 15. [React-Native] 깃허브 레포지토리 첫 업로드하기 프로젝트 생성 아래 명령을 통해 로컬 프로젝트를 생성합니다. npx react-native init 프로젝트명 깃허브 레포지토리 생성 로컬 환경에서 react native 프로젝트를 생성하는 동안 깃허브에 접속하여 레포지토리를 생성해 주세요. react-native cli 로 프로젝트 생성 시 자동으로 .gitignore이 생성되므로 생성 옵션 중 .gitignore 파일 추가를 선택하지 마세요. README 파일 추가도 선택하지 마세요. 깃 초기화 로컬 프로젝트 생성이 완료되었으면 로컬 프로젝트 디렉토리에서 깃 초기화를 해주세요. git init 깃 리모트 설정 깃허브에서 생성한 레포지토리와 로컬 프로젝트를 연결합니다. git remote add origin https://github.com/그룹또는회.. 2023. 3. 14. [LeetCode] 2. Add Two Numbers 접근 두 노드를 순회하며 계산 친절하게도 이미 거꾸로 뒤업어 놓았음 carry 를 활용해서 모든 경우의 수에 부합하는 보편적인 문제 해결 방식을 찾아야 솔루션 class Solution: def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]: answer = ListNode(0, None) answer_cursor = answer carry = 0 while l1 != None or l2 != None or carry != 0: l1Value = 0 l2Value = 0 if l1: l1Value = l1.val if l2: l2Value = l2.val sumOfValue = l1Value.. 2023. 3. 13. [npm] 라이브러리 버전 semantic versioning 가이드라인 이해하기 라이브러리 버전 규칙에 대한 npm 가이드라인을 서술합니다. npm의 semantic versioning npm 공식 문서에서는 라이브러리 버전 설정 시 아래와 같이 버전을 설정하도록 권장하고 있습니다. 메이저.마이너.패치 형태로 버전을 명시 최초 배포 버전 : 1.0.0 호환되는 버그 패치 버전 : 1.0.1 호환되는 새 기능 추가 버전 : 1.1.0 호환되지 않는 새 기능 추가 버전 : 2.0.0 즉, 이전 버전과 호환 여부에 따라 메이저, 이전 버전과 호환되는 새로운 기능인 경우 마이너, 기타 버그 패치와 같은 자잘한 작업의 경우 패치 버전을 결정합니다. 틸드(~)와 캐롯(^) 위에서 라이브러리 버전이 어떻게 구성되는지 이해했습니다. 허나 package.json에는 버전뿐만 아니라 버전 옆 틸드(~.. 2023. 3. 7. [npm] package.json 과 package-lock.json 차이점 이해와 필요성 다양한 서드파티 라이브러리들을 사용하기 위해 npm이라는 패키지 매니저를 일반적으로 사용하는데요, npm을 사용함에 있어 필요한 파일 두 가지, package.json 및 package-lock.json을 이해하고 차이점을 알아보겠습니다. package.json과 package-lock.json 차이 이해를 돕기 위해 express 라이브러리를 설치하여 package.json과 package-lock.json을 비교해 보겠습니다. package.json ... "dependencies": { "express": "^4.18.2" } ... package-lock.json ... "node_modules/express": { "version": "4.18.2", "resolved": "https://reg.. 2023. 3. 6. 이전 1 ··· 35 36 37 38 39 40 41 ··· 43 다음