목록프로그래밍(Programming) (30)
데이터 엔지니어
문제링크: https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 문제 설명 - N: 숫자의 개수 - L: 임의의 수 - Di = Ai-L+1 ~ Ai 중의 최솟값 ex) N=12 L=3 입력 1 5 2 3 6 2 3 7 3 5 2 6 출력 1 1 1 2 2 2 2 2 3 3 2 2 i-L+1
문제링크: www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식�� www.acmicpc.net 문제 설명 - 중위표현식의 string이 주어짐. - 중위 표현식을 후위 표현식으로 변환 ex) - a+b -> ab+ - a+b*c => (a+(b*c)) => bc*a+ - A+B*C-D/E => ((A+(B*C))-(D/E)) -> ABC*+DE/- 위와 같이 변경해 주는 것입니다. 잘못된 입력은 주어지지 않고 알파벳 대문자와 +, -, *, /, (, ) 로만 이루어진다고 문제에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPaem5/btqIX4EWYD1/ctpwRFTXkIF94SiOKKJm3K/img.png)
문제링크: https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 문제 설명 - N: 컴퓨터의 개수 - M: 연결하는 선의 개수 - (a, b, c) M개 주어짐 (c=비용) 위와 같은 입력이 주어졌을 때, 모든 컴퓨터를 연결할 수 있는 최소 비용을 찾는 문제입니다. 풀이 MST를 찾는 문제입니다. MST는 Minimum Spanning Tree 최소 신장트리를 뜻하며, 모든 정점을 잇는 최소 비용의 트리입니다. MST를 찾기 위해서 크루스칼(kruskal) 알고리즘을 사용합니다. 크루스칼 알고리즘 1. 비용순으로 edge들을 정렬한다. 2..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbVeGD/btqIVIIuvCE/x2dIvpjXurBDCU95IAHAYK/img.png)
문제링크: https://www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망�� www.acmicpc.net 문제 설명 - N: 정점의 개수 - 친구 관계 (u, v) N-1개 주어짐 위와 같은 입력이 주어졌을 때, 모든 노드와 관계를 맺고있는 최소의 노드 개수를 구하는 문제입니다. 여기서는 얼리어답터라고 칭합니다. 얼리어답터 = 관계를 맺는 주체 위와 같은 그림이 주어지면 2, 3, 4가 얼리어답터이고 나머지는 얼리어답터가 아닙니다. 최소의 개수는 3입니다. 1, 5, 6, 7, 8..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dXiVtB/btqIOarKJPr/M3EEAFttSDXf4c6QkgBgtk/img.png)
문제링크: https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제 설명 - N: 도시의 개수 - M: 버스의 개수 - (출발 도시, 도착 도시, 버스 비용) M개 - 시작도시, 끝도시 위와 같은 입력이 주어졌을 때, 시작도시부터 끝도시까지 가는 최소비용을 구하는 문제입니다. 풀이 문제를 보자마자 최소거리를 구하는 알고리즘들을 떠올렸습니다. 코테에서 주로 나오는 그래프 알고리즘들은 아래와 같습니다. 이 문제에는 시..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnpFOm/btqIAxu3yws/fmmMVAxVTTOuCGfkXbndWK/img.png)
개념 MongoDB: C++로 작성된 오픈소스 문서지향(Document-Oriented)적 Cross-platform 데이터베이스 뛰어난 확장성과 성능, 현존하는 NoSQL 데이터베이스 중 인지도 1위를 유지 NoSQL & Schemaless NoSQL = Not Only SQL 쿼리를 안쓴다는 것이 아닙니다. 기존 RDBMS(관계형 데이터 베이스 매니지먼트)가 갖고 있는 특성뿐만 아니라, 다른 특성들을 부가적으로 지원한다는 것을 의미합니다. 그중에서도 MongoDB는 Key Value DB를 사용하고 있습니다. Schemaless: Schema를 따로 정의할 필요가 없다. 같은 컬렉션안에서 데이터 타입, 필드가 서로 달라도 저장됩니다. Schema: RDBMS에서 주로 쓰이는 개체, 속성, 관계를 미리..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcPPCT/btqIzXU4r4D/5Fas8v57KrUZxL2dhokkGK/img.png)
소리 데이터 augmentation에 다양한 방법에 대해 알아보겠습니다. 먼저 말씀드리자면, 이 코드는 2020년 1월에 했던 빅데이터분석연합동아리 투빅스 컨퍼런스에 했던 코드들입니다. 이때 했던 프로젝트는 Singing Voice Conversion으로 기회가 되면 Cycle GAN내용과 함께 나중에 포스팅 하겠습니다. 이미지 같은 경우는 noise, 회전, 압축 등 다양한 augmentation 방법이 있고 설명도 많은데, 소리 같은 경우는 코드나 방법에 관한 내용이 별로 없습니다. 그래서 제가 알고 있고 사용했던 총 5가지 방법을 포스팅하겠습니다. (참고로 이 augmentation 방법이 정확하고 항상 설명력이 있다고는 못함을 전제합니다.) 필요 라이브러리 pip install librosa pi..
프로그래머스 사이트에서 주최한 월간 코드 챌린지에 참가하였습니다. 9 / 10 / 11 월 각 한번씩 열리며 각 대회마다 4개의 문제가 주어져 1, 2, 3 등에게는 상금을 수여하고, 세 번의 대회에서 총 5문제 이상 풀 경우 이벤트 상품에 응모할 수 있는 챌린지입니다. 저는 상금 받을 정도의 실력자가 아니기 때문에 알고리즘 실력도 늘리고 이벤트 응모라도 하기 위해 참가하였습니다! 문제와 풀이를 완전히 공유하는 것은 불법이기 때문에 4문제에 대한 제 개인적인 난이도 풀이로 후기를 남기겠습니다 자세한 사항은 아래 링크를 참조해주세요. 링크: programmers.co.kr/competitions/417?slug=monthly-code-challenge-s1&utm_campaign=competition417..