20 POSTS

Page 15

  • #javascript

    Javascript Prototype

    `toc tight: true, from-heading: 1 to-heading: 4 ` # 프로토타입 상속이라는 관점에서 봤을 때, 자바스크립트의 유일한 생성자는 객체 뿐이다. 모든 객체는 `[[prototype]]` 이라는 private 속성을 가지고 있는데, 이는 자신의 프로토타입이 되는 다른 객체를 가리킨다. 이렇게 자신의 프로토타입의 프...

    9분
  • #javascript

    Javascript Execution Context

    들어가기에 앞서 더 좋고 제가 많이 참고한 글이 [여기](https://poiemaweb.com/js-execution-context)에 있습니다. 이글을 보시는게 낫습니다. ```toc tight: true, from-heading: 1 to-heading: 4 ``` # 자바스크립트 실행컨텍스트 이번 포스팅으로 자바스크립트 실행 컨텍스트에 대해 온...

    17분
  • #algorithm

    Codility - Fish

    ## Fish ### 문제 길이 N으로 이루어진 비어있지 않은 배열 A, B가 주어진다. 배열 A는 물고기의 크기를, B는 물고기의 움직임을 나타내는데, 0일 경우 위로, 1일 경우 아래로 간다. 만약 두마리의 물고기가 만날 경우, 더 사이즈가 큰 물고기가 잡아먹어버린다. 이 때 살아남는 물고기의 수를 구하라. ``` A[0] = 4 B[0] =...

    3분
  • #algorithm#javascript

    Codility - Nesting

    ## Nesting ### 문제 `(`와 `)`로 이루어진 문자열이 있다. 이 문자열의 `(` `)` 짝이 맞게 이루어져 있는지 확인하라. ### 풀이 ```javascript function solution(S) { const split = S.split('') const stack = [] for (let i of split...

    1분
  • #algorithm

    Codility - Stone Wall

    ## StoneWall ### 문제 돌은 N미터 길이를 가지고 있으며, 두께는 모두 일정하다. 배얼에 돌 높이가 주어져 있으며, 아래와 같이 해석할 수 있다. - H[i]: 왼쪽에서 오른쪽으로 벽의 높이 - H[0]: 벽 왼쪽 끝의 높이 - H[N-1]: 벽 마지막 끝의 높이 ``` H[0] = 8 H[1] = 8 H[2] = 5 H[3]...

    2분
  • #algorithm

    Codility - Brackets

    ## Brackets ### 문제 문자열 S가 주어지고, S는 다음 경우 일 때 참을 반환해야 한다. - S가 비어있는 경우 - `(U)` or `[U]` or `{U}` 의 형태로 괄호안에 문자열이 있는 경우 - 괄호가 짝이 맞게 닫혀있는 경우 예를 들어 `{[()()]}`는 괄호가 알맞게 들어있지만, `([)()]`는 그렇지 못하다. (짝은 맞...

    2분
  • #algorithm

    Codility - Frog River One

    ## Frog River One ### 문제 개구리가 X 까지 가고 싶은데, X까지 가기 위해서는 1부터 X를 모두 지나가야 한다. 예를 들어보자. ``` 이렇게 배열이 주어져 있고 A[0] = 1 A[1] = 3 A[2] = 1 A[3] = 4 A[4] = 2 A[5] = 3 A[6] = 5 A[7] = 4 5까지 가고 싶다고 가정했을때, A[...

    2분
  • #algorithm#javascript

    Codility - Max Counters

    ## Max Counters ### 문제 숫자 N이 주어진다. 이 숫자 N은 모든 요소가 0인 길이 N인 배열을 의미한다. 그리고 배열 A가 존재한다. ``` 숫자 N이 5로 주어지고, 배열 A는 [3, 4, 4, 6, 1, 4, 4] 라고 가정하자. 초기 값 [0, 0, 0, 0 0] A[0] = 3, 3번째 (3-1번째) 요소의 크기를 1 늘린...

    3분
  • #algorithm#javascript

    Codility - Missing Integer

    ## Missing Integer ### 문제 주어진 배열 A에 빠져 있는 가장 작은 양의 정수를 구하시오 ``` A=[1, 3, 6, 4, 1, 2] 이라면 답은 5 A=[1, 2, 3] 이라면 답은 4 A=[-1, -3] 이라면 답은 1 ``` ### 풀이 ```javascript function solution(A) { // 배열 길...

    1분
  • #algorithm#javascript

    Codility - Distinct

    ## Distinct ### 문제 배열 A안에 unique한 숫자가 몇 개 있는지 리턴하라. ### 풀이 ```javascript function solution(A) { return [...new Set(A)].length } ``` Set을 활용하면 쉽게 풀 수 있다. Set이 아니더라도 object등을 활용해보면 된다. https:...

    1분
  • #algorithm

    Codility - Max Product of Three

    ## Max Product of Three ### 문제 길이 N인 배열 A가 주어졌을때, 임의로 세개의 숫자를 곱했을 때 가장 큰 값을 만들 수 있는 배열의 Index를 리턴해라. ``` A[0] = -3 A[1] = 1 A[2] = 2 A[3] = -2 A[4] = 5 A[5] = 6 2, 4, 5번째를 곱하면 60을 만들수 있고 이것이 가장 큰 ...

    3분
  • #algorithm

    Codility - Number of Disc Intersections

    ## Number of Disc Intersections ### 문제 N개의 디스크가 존재하고, 디스크는 각각 0~ N-1의 번호를 가진다. 이는 A라는 배열에서 표현되는데, `A[N]` 는 해당 디스크의 반경을 의미한다. ``` A[0] = 1 A[1] = 5 A[2] = 2 A[3] = 1 A[4] = 4 A[5] = 0 ``` ![discs]...

    3분
  • #algorithm

    Codility - Triangle

    ## Triangle ### 문제 길이 N의 배열 A가 주어진다. (P, Q, R)은 삼각형이 될 수 있는데, 이는 - 0 ≤ P < Q < R < N - A[P] + A[Q] > A[R] - A[Q] + A[R] > A[P] - A[R] + A[P] > A[Q] 라는 조건을 만족 하기 때문이다. ``` A[0] = 10 A[1] ...

    1분
  • #algorithm

    Codility - Binary Gap

    ## 1-1 Binary Gap ### 문제 숫자 N을 이진수로 바꿨을때, 1과 1사이에 있는 0의 개수가 가장 많이 연속해 있는 0의 개수를 구하라. ``` 9는 이진수로 바꿀 경우 1001, 이경우 0의 최대 개수는 2. 529는 이진수로 바꿀 경우 1000010001, 이경우 0의 최대 개수는 3. 20은 이진수로 바꿀 경우 10100, 이 경우...

    2분
  • #algorithm#javascript

    Codility - Cyclic Rotation

    ## 2-1 Cyclic Rotation ### 문제 배열 A가 주어지고 이를 K번 각 배열의 요소를 오른쪽으로 이동시켰을 때, 그 결과를 리턴하시오. ``` A = [3, 8, 9, 7, 6] K = 3 [3, 8, 9, 7, 6] -> [6, 3, 8, 9, 7] [6, 3, 8, 9, 7] -> [7, 6, 3, 8, 9] [7, 6, 3, 8...

    1분
  • #algorithm#javascript

    Codility - Odd Occurrences in array

    ## 2-2 Odd Occurrences in array ### 문제 숫자로 이뤄진 배열에서 홀수 번 등장하는 숫자를 찾아서 리턴해라. ``` A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9 7은 한번만 등장하므로 7을 리턴해야 한다. ``` ### 풀이 ```javascri...

    1분
  • #algorithm

    Codility - Frog Jump

    ## 3-1 Frog Jump ### 문제 개구리가 X에서 Y까지 뛰어야 하고, 한번에 D 만큼 점프 할 수 있을 때, 몇번을 뛰어야 하는가? ### 풀이 ```javascript function solution(X, Y, D) { return Math.ceil((Y - X) / D) } ``` https://app.codility.com/...

    1분
  • #algorithm

    Codility - Perm missing elem

    ## 3-2 Perm Missing Elem ### 문제 길이 N으로 이루어진 배열 A은, 1부터 N+1 의 숫자로 이루어져 있다. 여기에서 빠진 숫자를 찾아라. ``` A[0] = 2 A[1] = 3 A[2] = 1 A[3] = 5 4 가 누락되어 있으므로, 정답은 4 다. ``` ### 풀이 ```javascript function solut...

    1분
  • #algorithm

    Codility - Tape Equilibrium

    ## Tape Equilibrium ### 문제 길이 N의 배열을 임의로 두개로 쪼개고, 이렇게 해서 생긴 두배열의 합을 각각 구할때, 이 서로 두합의 차이가 가장 작은 경우를 구하라. ``` A[0] = 3 A[1] = 1 A[2] = 2 A[3] = 4 A[4] = 3 이경우 네가지로 쪼갤 수 있는데 P = 1, difference = |3 − ...

    2분
  • #algorithm

    Codility - Perm Check

    ## Perm Check ### 문제 길이 N인 배열이 주어져 있고, 안에는 서로 다른 숫자가 들어가 있다. 이 서로 다른 숫자가 연속하는 숫자면 true, 아니라면 false를 리턴하라. ``` A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2 는 1을 리턴하면 된다. ``` ``` A[0] = 4 A[1] = 1 A[2] = 3 ...

    1분