본문 바로가기

분류 전체보기

Codility Lesson5 - MinAvgTwoSlice 🔍 문제 MinAvgTwoSlice coding task - Learn to Code - Codility Find the minimal average of any slice containing at least two elements. app.codility.com ✏️ 풀이 - JS 아무리 생각해도 이중 for문으로 배열을 일일히 순회하면서 값을 찾는 방법 밖에는 떠오르지 않는다. 왜 나는 항상 for문으로 푸는게 가장 먼저 생각나는 걸까... 후... 하지만 timeout error가 나올 것이 뻔하므로 다른 방법을 떠올리려 했지만 아무리 생각해도 떠오르지가 않아 구글 선생님의 도움을 받아 풀어보았다. 문제는 아래를 참고해서 풀면된다. 검색 안했으면 아마 풀지 못했을 것 같다. 하나 배웠다 😎 크크 어.. 더보기
그림으로 배우는 Http & Network Basic 📚 후기 오며 가며 스타텁 회사들의 블로그를 보다가 모 회사에서 이 책을 주제로 스터디를 진행한 것을 보고, 나도 뽐뿌가 와서 한 번 사보았다. 정가는 15,000원인데 yes24에서 한 달에 한 번씩 천 원씩(앱으로 로그인하면 천 원 더 줌) 주는 쿠폰이랑 이것저것 엮어서 9천 원대에 샀다. 야호! 워낙 주제가 주제이다보니 제목 그대로 '그림'으로 배우는 내용이라 이해가 더 잘됐다. 클라이언트와 서버 사이에서 주고받는 개념을 설명하려면 아무래도 그림이 있는 게 이해하는 측면에서는 더 직관적인 것 같다. 책의 내용은 더도 말고 덜도 말고 전반적인 개념을 한번 훑기에 딱 좋았다. 또, 앞의 내용이 뒤에 가서 더 자세히 설명되거나 반복되는 점도 있어서 입문자는 생소한 개념을 이해하는 입장에서 도움이 될 것 .. 더보기
Codility Lesson5 - GenomicRangeQuery 🔍 문제 GenomicRangeQuery coding task - Learn to Code - Codility Find the minimal nucleotide from a range of sequence DNA. app.codility.com ✏️ 풀이 - JS function solution(S, P, Q) { let resultArr = []; for(let i = 0; i < P.length; i++) { // slice메소드는 두 번째 index까지는 포함시키지 않으므로 포함해서 자를수있도록 +1 해줌 let temp = S.slice(P[i], Q[i]+1); if(temp.indexOf('A') !== -1) { resultArr.push(1); } else if (temp.indexOf('.. 더보기
Codility Lesson5 - PassingCars 🔍 문제 PassingCars coding task - Learn to Code - Codility Count the number of passing cars on the road. app.codility.com ✏️ 풀이 - JS function solution(A) { const pArr = []; //0인 A의 idx배열 const qArr = []; //1인 A의 idx배열 let carCnt = 0; for(let i in A) { if(A[i] === 1) { qArr.push(i); } else { pArr.push(i); } } //짝이 없는경우 if(pArr.length === 0 || qArr.length === 0) { return carCnt; } for(let i in pArr) .. 더보기
Codility Lesson4 - MissingInteger 🔍 문제 MissingInteger coding task - Learn to Code - Codility Find the smallest positive integer that does not occur in a given sequence. app.codility.com ✏️ 풀이 - JS function solution(A) { if(Array.isArray(A)) { let missingNum; for(let i = 1; i < 100000; i++) { if(A.indexOf(i) === -1) { return missingNum = i; } } } } 일단은 생각나는대로 정수 1부터 시작해서 배열이 가지고 있는지, 아닌지 일일히 비교하는 방식을 써보았다. 시간 복잡도가 O(N**2)가 나왔고, 정.. 더보기
foo, bar, baz란 대체 무엇인가?! JS 관련 책을 읽다보니 예제코드에서 빠지지 않고 등장하는 변수명 foo, bar, baz! 대체 무엇인가 궁금해서 찾아 보았다. 일단 위키피디아에서는 어원이 모호하다고 하며, 몇가지 설을 제시한다. 1. foo가 bar 와 함께 사용하게 된 것은 세계 이차대전 당시 군대 은어인 FUBAR인 (Fucked/Fouled Up Beyond All Recognition/Any Repair/All Reason)에서 온것이라고도 본다. 2. foo 라는 단어 자체는 대력 1930 년에서 1952 년 사이에 Smokey Stover라는 만화에서 사용된적이 있다. 만화의 작가 Bill Holman이 차이나 타운에서 복(福)을 상징하는 옥으로 만들어진 조각상을 보고 중국어 단어 fu(중국어로 복(福)을 의미)를 음역하.. 더보기
YOU DON'T KNOW JS(타입과 문법, 스코프와 클로저) 📚 후기 사실 이 책을 산지는 조금 됐었는데, 이제야 읽게 되었다. 이 책의 다른 시리즈인 'this와 객체 프로토타입, 비동기와 성능 편'도 함께 샀는데, 원래는 타입과 문법 / 스코프와 클로저 / this와 객체 프로토타입 / 비동기와 성능 4가지의 시리즈지만 번역된 책은 2개 시리즈씩 한 권으로 합쳐 판매 중이라 두 권을 구입하였다. 이 책의 저자인 카일 심슨의 깃허브에 들어가면 그가 쓴 YOU DON'T KNOW JS 시리즈를(물론 영어로) 모두 무료로 볼 수 있게 해 놓았다. 시리즈 중에 GO&UP은 JS에 대한 맛보기 정도라 그의 깃허브에서 읽고, 번역된 버전으로 두 권을 구입하였다. 알고 있었던 내용도 있었고, 전혀 모르고 있었던 부분(알고 있는 부분보다 훨씬 많았다!)도 있었다. 전체적인 .. 더보기