일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 한빛미디어
- 나는리뷰어다
- Machine Learning Advanced
- DilatedNet
- eda
- 큐
- 알고리즘
- TEAM-EDA
- 파이썬
- 엘리스
- 추천시스템
- 스택
- Python
- hackerrank
- 3줄 논문
- 코딩테스트
- DFS
- Recsys-KR
- Object Detection
- MySQL
- 입문
- TEAM EDA
- Semantic Segmentation
- Image Segmentation
- 나는 리뷰어다
- Segmentation
- pytorch
- 협업필터링
- 튜토리얼
- 프로그래머스
- Today
- Total
목록2020/03 (52)
TEAM EDA
Quick sort 정의 : 재귀 호출을 이용한 대표적인 정렬 배열 중에 값 하나를 pivot으로 설정한다. pivot과 같거나 작은 값은 왼쪽 배열(left)에 그렇지 않은 값은 오른쪽 배열(right)에 저장한다. 이후, 왼쪽 배열과 오른쪽 배열을 각각 Quicksort를 진행해주면 위와 같이 정렬이 완료된다. 과정을 좀 더 자세히 보기 위해서 왼쪽의 배열 [4, 2, 2, 4, 3, 1]의 Quick Sort 과정을 살펴보자. 먼저, 값 하나를 pivot으로 설정해준다. 설정한 pivot을 기준으로 왼쪽에는 pivot보다 작거나 같은 값을 오른쪽에는 pivot보다 큰 값을 넣어준다. pivot을 설정해준다. pivot을 기준으로 pivot 보다 작거나 같은 값을 왼쪽에, 그렇지 않은 값을 오른쪽에 ..
점토 놀이 엘리스씨는 가장 적은 힘을 사용하여 주어진 모든 점토를 합치고 싶어졌습니다. 엘리스씨를 도와 n개의 점토를 하나의 덩이로 합치기 위해 필요한 힘의 크기의 합의 최솟값을 구하는 프로그램을 작성하세요. 만약 무게가 a인 점토와 무게가 b인 점토를 한 덩이가 되도록 합치기 위해서는 a+b의 힘을 들여야 합니다. [입력값] 〔1〕 점토의 개수 n (1≤n≤100,000) 〔2〕 n개의 숫자(각 점토의 무게) [결과값] 모든 점토를 한 덩이로 합치기 위해 필요한 힘의 크기의 합의 최솟값을 출력합니다. [제한 시간] 5초 이내에 결과가 출력되어야 합니다. [입력 예시] 4 1 5 7 3 [출력 예시] 29 [예시 설명] 4개의 점토가 있고 각각 1, 5, 7, 3의 무게를 가진다면 다음의 순서대로 합치는..
우선순위 큐 정의 : 원소를 제거할 시, 가장 우선순위가 높은 원소를 제거 배열로 구현 삽입 : O(1) 삭제 : O(n) 힙으로 구현 (부모의 값이 항상 자식보다 작은 완전 이진 트리) 삽입 : O(logn) 삽입 : 가장 마지막 노드에 값을 삽입하고 우선순위를 맞게 정렬 - 정렬에 드는 시간 복잡도 O(logn) heap.insert(4)를 통해서 4라는 값을 삽입하려고 함 빈 노드의 위치에 삽입 정렬을 통해 우선순위를 맞춤 삭제 : O(logn) 삭제 : 부모를 삭제하고 남은 노드를 우선순위에 맞게 정렬 - 정렬에 드는 시간 복잡도 O(logn) heap.pop()을 통해서 2를 제거하려고 함 먼저, 2를 제거 가장 마지막 노드에 있는 값을 맨 위의 노드에 삽입 이후, 정렬을 통해서 우선순위를 맞춤..
합계 0인 정수 쌍 구하기 0을 제외한 n개의 정수가 주어졌을 때, 합이 0에 가장 가까운 숫자쌍을 구하는 sum_0(data)을 작성하세요. [입력값] 첫 번째 줄에 n개의 정수들이 오름차순으로 주어집니다. n의 값은 따로 주어지지 않습니다.(1≤n≤100,000,000) [결과값] 합이 0에 가장 가까운 숫자쌍을 빈 칸으로 구분하여 출력합니다. 숫자쌍은 오름차순으로 정렬하여 출력하며, 정답이 여러개일 경우 그 중 하나만 출력하면 됩니다. [입력 예시] -193 30 94 100 194 [출력 예시] -193 194 풀이 "투포인터" 알고리즘 : 1차원 배열이 있고 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 조작해가면서 원하는 값을 얻는 형태 성립하는 이유 : 배열이 정렬되어 있는 상황이..
소수 판정 숫자 n이 주어질 때, 이 숫자가 소수인지 판정하는 isPrime(n)을 작성해봅니다. [입력값] 첫번째 줄에는 n이 주어집니다.(1≤ n ≤ 100,000,000,000,000) [결과값] n이 소수라면 True, 아니면 False를 출력합니다. 풀이 math.sqrt(n)으로 길이를 줄인후에 나머지가 0인지 확인 import math ''' 다음의 함수들은 math 내의 함수들입니다. 참고하도록 합니다. 반드시 이 모든 함수를 써야한다는 의미는 아닙니다. math.sqrt(x) : 루트 x를 반환 math.log(x) : 자연로그 x를 반환 math.log10(x) : 상용로그 x를 반환 ''' def isPrime(n): ''' 숫자 n이 소수이면 True, 아니면 False를 반환하는 ..
두 번째 최대값 n x n의 행렬이 주어질 때, 1) 모든 원소의 합, 2) 원소의 최댓값, 3) 원소의 두 번째 최댓값을 구하는 getMax2(n, myMatrix)을 작성하세요. 여기서 두 번째 최댓값은, 최댓값보다 작은 숫자를 의미합니다. [입력값] 〔1〕 n 〔2~〕 n x n 행렬의 원소 모든 원소는 양수라고 가정합니다. [결과값] 〔1〕 (a, b, c) a: 모든 원소의 합 b: 원소의 최댓값 c: 원소의 두 번째 최댓값 두 번째 최댓값은 항상 존재한다고 가정합니다. [입력 예시 1] 3 1 2 3 2 3 4 4 4 2 [출력 예시 1] (25, 4, 3) [입력 예시 2] 5 7 2 3 4 5 2 3 4 1 2 2 3 2 5 2 3 3 4 2 1 3 5 2 1 1 [출력 예시 2] (72,..
이진트리 만들기 이번 예제에서는 주어진 입력으로부터 이진트리를 만드는 프로그램을 작성합니다. 그 후 만들어진 이진트리를 이용하여 전위순회, 중위순회, 후위순회 한 결과를 출력하세요. [입력값] 〔1〕 n: 노드의 개수 〔2~〕 a b c 정점 a가 왼쪽 자식으로 b, 오른쪽 자식으로 c를 갖는다는 의미입니다. 만약 노드의 자식 노드가 없다면 -1이 주어집니다. 노드의 정보가 주어질 때는, 항상 부모노드의 정보가 먼저 주어진다고 가정해도 좋습니다. [결과값] 〔1〕 전위순회 한 결과 〔2〕 중위순회 한 결과 〔3〕 후위순회 한 결과 [입력 예시] 5 1 2 3 2 4 5 3 -1 -1 4 -1 -1 5 -1 -1 [출력 예시] 1 2 4 5 3 4 2 5 1 3 4 5 2 3 1 풀이 class Tree:..
이번 글에서는 기존의 RNN Basics에 이어서 PyTorch로 RNN를 구현하는 것에 대해서 심화적으로 배워보도록 하겠습니다. 이번 글은 EDWITH에서 진행하는 파이토치로 시작하는 딥러닝 기초를 토대로 하였고 같이 스터디하는 팀원분들의 자료를 바탕으로 작성하였습니다. Cross entropy loss에 대한 이론적인 설명은 hyuwk님의 블로그와 ratsgo님의 블로그를 참고하였습니다. 목차 'Hihello' problem Data Setting one hot encoding Cross entropy loss Code run 'longseq' example RNN timeseries 'Hihello' problem 문제 : hihello라는 문자열을 예측하는 모델을 만드는 것 목적 : 다음에 오는 ..
본 글은 자연어 처리에서 주로 사용하는 임베딩 기법들에 대해 정리해놓은 자료입니다. One-hot Encoding, TF-IDF, LSA, Word2Vec, Glove, FastText에 대해 정리할 것이고 ratsgo님의 블로그을 많이 참고하였습니다. 목차 One Hot Encoding TF-IDF LSA Word2Vec Glove FastText One Hot Encoding 개념 : 각 단어에 Index를 부여하는 방식으로 표현하는 단어의 Index에 1을 넣고 그렇지 않은 곳 에는 0을 넣는 방법 장점 : 사용하기 매우 쉬움. pandas의 get_dummies함수나 sklearn의 preprocessing.OneHotEncoder을 사용하면 됨 단점 : 단어의 의미를 전혀 이해하지 못함. 단어의..
엘리스의 동물어 수업 코더랜드에는 말을 할 수 있는 동물들이 모여사는 aniski 나라가 있습니다. 이 나라의 동물들은 aniski어라는 조금 특별한 언어를 사용합니다. aniski어는 특이하게도 모든 말을 "ani"로 시작해서 "ski"로 끝이 납니다. 엘리스는 이 나라에 동물어 학습지를 판매 하고 있습니다. 홍보를 위해 짧은 시간 동안 동물 어린이들에게 글자를 가르쳐서 얼마나 효과가 좋은 지 증명하려고 합니다. 엘리스가 몇 개의 글자를 가르쳤을 때 동물 어린이들이 배울수 있는 단어는 몇 개나 될까요? 입력 예시 1 7 3 anircski anihelloski anirzcski 출력 예시 1 1 입력 예시 2 8 3 anircski anihelloski anirzcski 출력 예시 2 2 입력 첫 번째..