Made by 박주환
함수 및 개념 정리 Dynamic Programming은 recursive call을 쓸때 memoization을 통해서 실행 시간을 단축시키는 방법을 말합니다.
recursive recursive란 반복되는 계산을 함수에서 자기 자신을 호출함으로 구현하는 방법입니다. 이를 구현하려면 두가지가 필요합니다.
base case: 자기 자신을 호출하면서 가장 깊숙히 들어갔을때 나올 수 있는 탈출구 자기 호출이 포함된 실행문 fibonacci fibonacci란 앞에 있는 두수의 값을 더해서 나오는 수를 의미합니다. ex) fibo = [0, 1, 1, 2, 3, 5, 8, 13]
Made by 박주환
함수 및 개념 정리 two pointer two pointer란 배열에서 양쪽의 두개의 포인터가 서로를 향해 이동하면서 문제를 푸는 방법입니다.
배열 문제에서 주로 쓰입니다. 배열의 복사본이 필요하지 않고 한번의 loop(배열의 길이 만큼 == O(n))으로 문제를 풀 수 있습니다. Math.max(요소1, 요소2, …): 가장 큰것을 반환합니다. console.log(Math.max(1, 3, 2)); // Expected output: 3 console.log(Math.max(-1, -3, -2)); // Expected output: -1 const array1 = [1, 3, 2]; console.log(Math.max(...array1)); // Expected output: 3 출처 while(조건){ 실행문 } : 문장안을 실행하기 전에 조건문을 확인합니다.
Made by 박주환
함수 및 개념 정리 문제를 보기전에 필요한 함수들을 살펴 보겠습니다. 기초적인 내용도 포함되어 있지만 다시한번 개념을 명확하게 하고 모르던 함수가 있다면 참고 하시면 좋습니다.
지금 당장 눈에 들어오지 않는다면 문제를보다가 궁금하면 다시 위로 올라와서 공부하는 것이 더 도움이 될 수도 있습니다.
for loop 진행 순서: 항상 조건문을 들렸다가 실행문을 실행합니다. for(1.초기화; 2.조건문; 4.증감식){ 3.실행문 } 초기화 조건문: true 실행문 증감식 조건문: true 실행문 증감식 조건문: false -> break // 예시 for (let i = 2; i <= limit; i++) { 실행문; } 배열 생성 및 초기화하는 방법 : Array().
pictured by 박주환 아름다운 눈을 보며 힐링하기 좋은 날씨입니다. 오랜만에 본가에 온 김에, 눈으로 뒤덮인 자연이 아름다워 사진을 찍어봤습니다. 여러분도 가끔 자연을 바라보며 마음의 여유를 가져보세요. 기업들의 코딩테스트 추세 저는 주로 효율이 좋은 Python으로 코딩 테스트를 준비해 왔습니다. 하지만 취업 준비를 하면서 생각보다 많은 회사가 프론트엔드 직무로 지원하면 언어를 Javascript 혹은 Java로 제한하는 경우가 많았습니다. 저의 경우에는 작년에 지원했던 여기어때, 현대 오토에버, 소프티어 부트캠프 등이 있습니다. 그래도 대부분의 회사가 여러 언어를 지원하지만 더 많은 선택지를 가지려면 프론트나 Node개발자 분들은 Javascript으로 준비하는게 더 좋지 않을까 생각합니다.
잘 작업해 오던 작업 폴더에서 저장이 안된다. 마지막에 branch merge 하고 작업 branch 삭제후 다시 분기했었다. 그 후부터 익숙하지만 좀 더 까다로운 에러가 뜬다.
비번을 입력해도 왜 계속 에러가 뜨지 먼저 저장을 하면 비번을 입력하라고 나온다. 여기까지는 익숙하다. 그리고 비번을 치면 저장이 되어야 하는데… 또 다시 에러가 뜬다.
이런적은 처음이어서 굉장히 당황스러웠다.
왜 이럴까? 일단 EPERM을 보니 권한 문제인 것 같다. 따라서 폴더의 권한을 나로 바꿔야 하고 구글링을 해서 해결하였다.