분류 전체보기

·Algorithm/Concept
플로이드 워셜 알고리즘은 최단경로 알고리즘 중 하나로 다익스트라 알고리즘과 더불어 제일 많이 언급되는 알고리즘 중 하나입니다. 최단 경로 알고리즘을 다시 공부하면서 공부했던 내용을 포스팅 하고자 글을 작성하게 됐습니다. 플로이드 워셜 알고리즘이란? 모든 정점 사이의 최단 경로를 찾는 알고리즘입니다. 최단 경로 알고리즘인만큼 최당경로는 길이 순으로 구해집니다. 플로이드 워셜 알고리즘의 과정입니다. 1. 하나의 정점에서 다른 정점을 바로 갈 수 있으면 최소비용을 설정하며, 갈 수 없다면 INF로 무한대 값을 배열에 값으로 저장합니다. 2. 3중 for 문을 통해 거쳐가는 정점을 설정 한 후 해당 정점을 거쳐가서 비용이 줄어든느 경우에는 값을 바꿔줍니다. 3. 위 과정을 계속해서 반복하여 모든 정점 사이의 최..
124 나라의 숫자 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. 입출력 예 n |result |:---:|:---:| 1 |1 2 |2..
·AWS
AWS RedShift란? Redshift는 AWS의 MPP(Massive Parallel Processing) Database입니다. PostgreSQL을 기반으로 하지만 PostgreSQL과 다르게 구현된 특징과 기능들도 있습니다. 주로 클라우드 데이터 웨어하우스를 만들 때 사용합니다. AWS Document 기반으로 Redshift의 특성에 대해서 정리해보았습니다. MPP(Massive Parallel Processing)은 무엇일까? 다수의 컴퓨팅 노드가 각 노드의 코어마다 전체 데이터를 분할하여 동일하게 컴파일된 쿼리 세그먼트를 실행합니다. 즉 다수의 컴퓨팅 노드가 각 노드의 코어마다 전체 데이터를 분할하여 동일하게 컴파일된 쿼리 세그먼트를 실행하면서 최종 결과에 이를 때까지 모든 쿼리를 처리합..
올바른 괄호 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예 s answer "()()" true "(())()" true ")()(" false "(()(" false ..
소수 찾기 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수..
월마트의 맥주와 기저귀 혹시 그런 글을 본적이 있으신가요? 결혼한 성인 남성이 마트에서 귀저귀를 사면 높은 확률로 맥주를 사게 된다는 말. 미국 대형마트 중 하나인 월마트는 고객들의 소비 패턴을 분석한 후 결과를 보니 맥주와 귀저귀는 서로 연관성도 없고 곂치는 품목도 아닌데두 제품이 같이 많이 팔린다는 것을 발견했습니다. 이처럼 빅데이터 속 데이터들의 연관규칙을 분석을 하는 것이 기업에 큰 이익이 될 경우가 많은데요 대표적인 연관분석 알고리즘인 Apriori Algorithm에 대하여 한번 알아보도록 하겠습니다. Apriori Algorithm이란 무엇인가? Apriori 알고리즘이란 어떤 두 아이템 집합이 자주 발생하는가에 대하여 일련의 규칙들을 생성하는 알고리즘입니다. 컨텐츠를 기반한 항목 추천의 기..
ETL( Extract, Transform, Load) 데이터 엔지니어쪽 자료를 찾아보고 공부를 하다보면 정말 자주 듣는 용어입니다. ETL이 Extract, Transform, Load인 것은 알겠는데 구체적으로 하는 일이 무엇인지 공부하고자 작성하였습니다. ETL은 추출(Extract), 변환(Transform), 로드(Load)를 나타내며 조직에서 여러 시스템의 데이터를 단일 데이터베이스, 데이터 저장소, 데이터 웨어하우스 또는 데이터 레이크에 결합하기 위해 일반적으로 허용되는 방법입니다. 또한 ETL은 일반적으로 임시 보고를 위해 데이터의 임시 하위 집합을 조합하거나, 데이터를 새 데이터베이스로 마이그레이션하거나, 데이터베이스를 새 형식 또는 유형으로 변환하는 데 사용됩니다. 좀 더 쉽게 설명하자..
·SQL/SQL개념
COUNT란? SQL의 집계함수중 하나로 db table을 조회하여 특정 field에 대해 행의 갯수를 세주는 함수이다. 이번에는 count함수의 기본적인 사용법을 정리하며, 이를 응용하여 사용하는 방법에 대해서도 알려주고자 합니다. 예시로 가상의 db table이 있다 가정합니다. Value 1 1 0 0 4 3 Table: count_test 이때 count의 기본 문법과 NULL을 count 할때, 그리고 중복 제거 함수인 DISTINCT함수 또한 사용했을 때 어떻게 값이 추출되는지 알아보겠습니다. SELECT COUNT(1) FROM count_test 해당 값은 어떻게 나올까요? 바로 7이 나옵니다. COUNT(1)은 COUNT(*)과 같이 작동합니다. SELECT COUNT(value) FRO..
피로도 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이..
Shine_sunho
'분류 전체보기' 카테고리의 글 목록 (15 Page)