최근 게시글

  1. Codility Lesson 3 — FrogJump
    📆📂개발노트JavaScript

    Task description 위치 X에서 Y까지 최소 점프 횟수를 계산합니다. How I did solve position X에서 position Y로 이동하는데 한 번에 D 만큼 이동한다면, 총 이동거리 (Y - X) = n * 1회 이동거리(D) 소수점은 1회 이동을 해야 하므로 올림 처리 Solved Code function solution(X, Y, D) { return Math.ceil((Y - X) / D) } Retrospective 이 문제는 고민할 필요도 없이 바로 풀이가 도출 됨… 혹시 다른

  2. 알고리즘 연습을 다시 시작했다.
    📆📂생각노트in occupation

    최근 Codility를 통해 알고리즘 문제를 다시 풀어보기 시작했다. (알고리즘을 다시 들여다보게 된 계기는 쉿…) Codility 문제를 풀어보다보니 내가 그 동안 얼마나 레퍼런스 문서에 의존해 왔는지를 뼈저리게 체감하고 생각하는 계기가 된 듯하다. Array에 어떤 메서드가 있었는지, 어떻게 사용했었는지 기억을 계속 더듬어야만 했고 정규 표현식의 특수 문자를 (특히 '?' 라던가… '?=' 같은 것들) 어떻게 작성했었었는지 문서를 보지 않고 작성하려니 여간 어려운게 아니더라. 물론 문서를 참고해서 문제를 해결하는게 잘못된 것도

  3. Codility Lesson 2 — CyclicRotation
    📆📂개발노트JavaScript

    Task description 주어진 수만큼 배열을 오른쪽으로 이동 How I did solve 주어진 값이 A = [3, 8, 9, 7, 6] , K = 3 일 경우 결과는 [9, 7, 6, 3, 8] 즉, 3만큼 오른쪽으로 이동시킬 경우 뒤에서 3개 요소를 앞으로, 나머지를 그 뒤에 나열시키는 새로운 배열 반환. 이를 위해서는 array.length - 3부터 마지막 요소까지를 slice ,나머지를 slice slice된 배열을 접합 K가 배열 길이를 넘어설 경우 n회의 cycle을 돌아 제자리가 되므로 K를

  4. Codility Lesson 2 — OddOccurrencesInArray
    📆📂개발노트JavaScript

    Task description 주어진 홀수 개의 요소를 가진 배열에서 짝을 이루지 않은 한 요소의 값 구하기 How I did solve 배열 내 모든 요소에 대해 XOR 연산 Solved Code function solution(A) { return A.reduce( ( acc, entry) => acc^entry, 0 ); } Retrospective 이 부분은 얼마 전에 이미 비트 연산으로 같은 값을 XOR 연산하면 0이 된다는 사실을 보았기 때문에, 아직 기억 속에 머물러 있어서 큰 고민 없이 풀었을 뿐이라 만일 비트

  5. Codility Lesson 1 — BinaryGap
    📆📂개발노트JavaScript

    Task 주어진 정수의 2진 표현에서 가장 긴 zero sequence 구하기. How I did solve binary 변환 주어진 정수를 2로 나누어 나눈 나머지를 뒤에서부터 채움 몫을 다시 2로 나눈 나머지를 그 다음에 채움 몫이 0이 될 때까지 반복 => 재귀 함수 이용 zero gap 구하기 binary를 문자열로 받아서 trailing zero 제거 : 정규식 이용 1로 split하여 zero gap 배열을 취하고 이를 오름차순 정렬 배열의 마지막 요소의 길이를 반환 배열의 마지막 요소가 없을 경우 0 반환