목록분류 전체보기 (188)
alpyrithm_알파이리즘
RudderStack - The most secure customer data infrastructure solution - Open-source for collecting, storing, and routing customer event data to your data warehouse - 고객 이벤트 데이터를 수집, 저장, 데이터 웨어하우스로 라우팅 하는 오픈 소스 RudderStack Architecture - database에만 의존하는 독립적인 시스템 - 주요 구성 요소 : Control Plane, Data Plane Control Plane : 이벤트 데이터의 소스 및 목적지를 구성하는 UI(Tracking Event의 정보를 보여준다.) Web App : 데이터 라우팅을 설정할 수 있는 프..
CS(Computer Science) 공부할 목록 : OS, DB, Network, Server SM 프로젝트를 위해 공부할 목록 : RudderStack Architecture, Recommendation System Architecture
스크럼(Scrum) 프로젝트 관리를 위한 상호, 점진적 개발 방법론, 애자일 소프트웨어 공학 중 하나이다. 소프트웨어 개발 프로젝트를 위하여 고안되었지만, 소프트웨어 유지보수 팀이나 일반적인 프로젝트/프로그램 관리에서도 적용될 수 있다. - 각 반복 주기가 종료될 때마다 부분적으로 완성된 결과물이 만들어진다. - 보통 반복 주기를 반복 주기를 이터레이션이라고 하지만 스크럼에서는 반복 주기를 스프린트(Sprint)라고 하며 주로 1~4주로 구성된다. - 스크럼에는 제품 책임자, 스크럼 마스터, 개발팀 3가지 역할이 있다. 제품 책임자(product owner) 제품 백로그를 관리, 작성하고 이해 관리자로부터 요구사항을 추출하여 제품 백로그에 반영한다. 요구사항에 우선순위를 매기고 각 스프린트마다 우선순위를..
정렬 알고리즘은 n개의 숫자를 사용자가 지정한 기준에 맞게 정렬하여 출력하는 알고리즘이다. 1. 선택 정렬(Selection Sort) 선택 정렬은 현재 위치에 들어갈 값을 찾아 정렬하는 알고리즘이다. 기본 로직 정렬 되지 않은 인덱스의 맨 앞에서 부터, 이를 포함한 그 이후의 배열값 중 가장 작은 값을 찾아간다. 가장 작은 값을 찾으면, 그 값을 현재 인덱스의 값과 바꿔준다. 다음 인덱스에서 위 과정을 반복해준다. 이 정렬 알고리즘은 n-1개, n-2개, ..., 1개씩 비교를 반복한다. 따라서 배열이 어떻게 되어있어도 전체 비교를 진행하므로 시간복잡도는 O(N^2)이다. 공간복잡도는 단 하나의 배열에서만 진행하므로 O(N)이다. Python code def selectionSort(arr): n = ..
DP 11726 2xn 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 풀기 전 공부할 것 : DP 풀이 2xN의 타일링의 경우 2x(N-1) 타일링에 2x1 타일을 붙이는 경우 2x(N-2) 타일링에 1x2 타일 2개를 붙이는 경우 1과 2의 경우의 합이므로 dp(N) = dp(N-1) + dp(N-2)가 점화식이 된다. n = int(input()) dp = [0] * (n+1) for i in range(1, n+1): if i == 1: dp[i..
DP 1463 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 풀기 전 공부할 것 : Dynamin Programming(동적 프로그래밍) 풀이 1 점화식 정수 X로 1을 만드는 연산 횟수 dp[x-1] + 1 : x-1로 1을 만드는 연산에 1을 더한 값 dp[x//2] + 1 : x/2로 1을 만드는 연산에 1을 더한 값 dp[x//3] + 1 : x/3로 1을 만드는 연산에 1을 더한 값 위의 3가지 경우의 값 중 가장 작은 값이 정수 X로 1을 만드는 연산 횟수의 최솟값이다. n = int(input()) dp = [0 for _ i..
입출력(3) 알고리즘의 가장 기본인 입출력 문제들 2438 별 찍기 - 1 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 풀이 n = int(input()) for i in range(1, n+1): print('*' * i) 2439 별 찍기 - 2 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 풀이1 n = int(input..
입출력(2) 알고리즘의 가장 기본인 입출력 문제들 11718 그대로 출력하기 https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. www.acmicpc.net 풀이1 while True: try: print(input()) except EOFError: break 풀이2 import sys for line in sys.stdin: print(line, end='') 11719 그대로 출력하기 2 https://www.acm..