![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bI3pTW/btqxZT3revV/S4npMKmQJuqtzN63U6e6jk/img.png)
1.문제 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. [1, 1, 2, 3, 5, 8, .] 지수는 문득 이러한 타일들로 구성되는 큰 직사각형의 둘레가 궁금해졌다. 예를 들어, 처음 다섯 개의 타일이 구성하는 직사각형(위에서 빨간색으로 표시한 직사각형)의 둘레는 26이다. 타일의 개수 N이 주어질 때, N개..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bXd2rp/btqx4rqEjkD/AZIITrG5KyKvMSmq6E0r7K/img.png)
1.문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 2.제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 3.입출력 예 4.나의 풀이 function solution (arr) { var answer = 0; let leftParent = 0; let rightPa..
#개념 해시 함수는 임의의 길이를 갖는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑하는 함수를 말한다. 이러한 해시 함수를 적용하여 나온 고정된 길이의 값을 해시값이라고 한다. 이 값은 해시 코드, 해시 섬(sum), 체크섬 등으로도 불린다. 대표적으로 해시 테이블, 해시 셋 등에서 유용하게 사용된다. 위 자료구조들은 인덱스에 해시값을 사용하는 자료 구조로, 정렬을 하지 않고도 빠른 검색, 빠른 삽입이 가능하다. 해시를 사용하다 보면 동일한 해시 코드가 얻어지는 경우가 있는데 이를 해시 충돌이라 하며 해시 함수의 알고리즘이 뛰어날수록 충돌 확률이 낮다. 해시 충돌의 대표적인 대안으로써 다음과 같은 방법들이 있다. @Chaining 해시 충돌이 일어날 경우 해당 해시 코드로 최초 저장된 데이터를 시작..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/61b0q/btqxKrfhcQi/CVuKigd8nAMRsBm8V3JCUK/img.png)
1.문제 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정합니다. 1. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정합니다. 2. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산요청에는 모두 상한액을 배정합니다. 상한액 이하의 예산요청에 대해서는 요청한 금액을 그대로 배정합니다. 예를 들어, 전체 국가예산이 485이고 4개 지방의 예산요청이 각각 120, 110, 140, 150일 때, 상한액을 127로 잡으면 위의 요청들에 대해서 각각 1..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/NdU6z/btqxOI7awrt/6sxkkM7dYOA2E7kCpI54b0/img.png)
# 개념 이진 탐색 트리이며 자가 균형 이진 탐색 트리이다. 이진 탐색 트리는 값이 편향적으로 구성되는 경우가 있다. 예를 들어 7, 6, 5, 4, 3, 2, 1 순서로 값을 넣으면 한쪽으로 치우진 트리가 만들어진다. 즉, 이진 탐색 트리의 시간 복잡도는 최악의 경우(위 예시) O(트리의 높이=h)만큼의 시간 복잡도를 가진다. 레드-블랙 트리는 위 단점을 색상을 이용한 정렬로 해결하며 O(logN)의 시간 복잡도를 가진다. 또한 균형을 유지하기 위해서 다음의 조건을 만족해야 한다. 노드는 레드 혹은 블랙 중 하나이다. 루트 노드는 블랙이다. 모든 리프 노드(NIL)들은 블랙이다. 레드 노드의 자식 노드들은 항상 블랙이다. (즉, 블랙 노드만이 레드 노드의 부모 노드가 될 수 있으며 레드 노드는 연속적으..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bqWNRa/btqxBPtHO38/meEFWSKwkL3YAEM4l3kCdk/img.png)
# 개념 이진 트리이다. 각 노드에 하나의 키를 저장한다. 노드 n의 왼쪽 서브 트리에는 n의 값보다 같거나 작은 노드들이 있다. 노드 n의 오른쪽 서브 트리에는 n의 값보다 같거나 큰 노드들이 있다. @검색 이진탐색트리에서 키 x를 가진 노드를 검색하고자 할때, 트리에 해당 노드가 존재하면 해당 노드를 리턴하고, 존재하지 않으면 NULL을 리턴한다. 검색하고자 하는 값을 루트노드와 먼저 비교하고, 일치할 경우 루트노드를 리턴한다. 불일치하고 검색하고자 하는 값이 루트노드의 값보다 작을 경우 왼쪽 서브트리에서 재귀적으로 검색한다. 불일치하고 검색하고자 하는 값이 루트노드의 값과 같거나 큰 경우 오른쪽 서브트리에서 재귀적으로 검색한다. @삽입 삽입을 하기 전, 검색을 수행한다. 트리를 검색한 후 키와 일치..
# 개념 순환 또는 재귀함수. Recursive 메서드는 자기 자신을 호출한다. Resursive 메서드는 Base Case와 Recursive Case를 가져야 한다. -Base Case : Recursion을 벗어나는 경우 -Recursive Case : 자기 자신을 호출하는 경우. 최종적으로 Base Case로 수렴해야 한다. # 예제 n까지의 합계 구하기 const sum = n => { if (n { if(n == 0) return 1; else return n * factorial(n-1); } 피보나치 수 구하기 const fibonacci = n => { if(n < 2) return n; else return fibonacci(n-1) + fibonacci(n-2); } 최대공약수(GDC..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/EfVqb/btqxpzi1DjR/2wIfAIbWMuzT81zGxVhdKK/img.png)
※Lv1은 너무 간단한 문제들이라 몇 가지만... 1.문제 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 2.제한사항 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 3.입출력 예 4.나의 풀이 function solution(arr1, arr2) { var answer = [[]]; answer = arr1.map((r, i) => r.map((c, j) => c + arr2[i][j])); return answer; }
- Total
- Today
- Yesterday
- JPA
- typescript
- 프로그래머스[스택/큐]
- Nashorn
- CRP 최적화
- 웹 사이트 최적화
- Web
- 프로그래머스[힙]
- 프로그래머스[이분탐색]
- 프로그래머스[정렬]
- 알고리즘
- 프로그래머스[Lv1]
- react
- Pipeline
- 실행 문맥
- Apollo
- Kubernetes
- PostgreSQL
- CD
- 프로그래머스
- CI
- Handshake
- Jenkins
- javascript
- execution context
- 동적계획법
- graphql
- 프로그래머스[해시]
- Spring Boot
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |