목록분류 전체보기 (498)
규도자 블로그
금융수학 그릭스(Greeks) 1. 알파(alpha) 금융권에서 쓰이는 그릭스(Greeeks)란 옵션 가격결정 함수의 변수 중 하나를 가리키는 문자이다. 옵션의 가격 결정함수는 S, K, r, T, t, σ라는 모수와 변수들로 이루어진 함수이다. 포트폴리오의 가치나 옵션 가격을 이 모수들과 변수들로 미분한 것을 그릭스라고 한다. Greeks라 불리우는 이유는 이 미분함수들이 △, Γ, Θ, ν, ρ의 그리스 문자로 이루어져 있기 때문이다. 이와 더불어 알파는 위에서 말하는 옵션가격 결정함수의 그릭스에 포함되지 않는다. 그렇다면 알파가 의미하는 것은 무엇인가. 알파는 평균시장성장률 대비 초과수익률을 의미한다. 특정 PB나 펀드매니저, 혹은 포트폴리오가 운용되는 주 필드가 있고 그 필드의 성장률보다 그 자산..

github actions로 자동 1일 1커밋 봇 만들기 그냥 재미있는 생각이 들었다. 1일 1커밋을 생활화하려는 개발자들이 있지만 그게 또 힘드니 이걸 github actions로 해결하면어떨까(?)하는 그런 생각 말이다. 알다시피 github actions에는 PR이나 push등의 이벤트에만 작동하는 것이 아닌, 일정 시간마다 작동하는 workflow또한 작성할 수 있다. 진짜 간단한 scheduled.yml을 작성해보자. 아, 모든 과정은 내가 인프라 공부할 때 사용하는 https://github.com/jujumilk3/infra-study 이 레포지토리에서 진행할 것이니 행여 나중에 진행과정을 참고할 사람이 있다면 해당 저장소의 커밋 내역을 따라가보면 될 것이다. 그리고 Actions칸에 있는 ..
[프로그래머스/Level2/파이썬3(python3)] 카펫 문제 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카..

docker, cronjob 하는 container 만들기 + supervisor, 환경변수 적용하기 일단은 간단한 cronjob을 수행하는 container를 만드는 Dockerfile을 작성해보자. 과정은 내가 자주 사용하는 python을 base image로 진행하겠다. # Dockerfile FROM python:3.9 WORKDIR /home/docker/code RUN apt-get -qq update \ && apt-get -qq install -y --no-install-recommends \ cron \ && apt-get -qq autoremove \ && apt-get -qq clean COPY . /home/docker/code RUN cp /home/docker/code/cronj..
[프로그래머스/Level2/파이썬3(python3)] n^2 배열 자르기 문제 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return..
[프로그래머스/Level2/파이썬3(python3)] 영어 끝말잇기 문제 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차..
[프로그래머스/Level2/파이썬3(python3)] 후보키 문제 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였고, 이를 위해 정리를 하던 중에 후보키(Candidate Key)에 대한 고민이 필요하게 되었다. 후보키에 대한 내용이 잘 기억나지 않던 제이지는, 정확한 내용을 파악하기 위해 데이터베이스 관련 서적을 확인하여 아래와 같은 내용을 확인하였다. 관계 데이터베이스에서 릴레이션(Relation)의 튜플(Tuple)을 유일하게 식별할 수 있는 속성(Attribute) 또는 속성의 집합 중, 다음 두 성질을 만족하는 것을 후보 키(Candidat..
[프로그래머스/Level2/파이썬3(python3)] 괄호 회전하기 문제 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x < (s의 길이)) 칸만큼 회전시켰을 때 ..
[프로그래머스/Level2/파이썬3(python3)] 게임 맵 최단거리 문제 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 수 없습니다. 아래 예시는 캐릭터가 상대 팀 진영..
[프로그래머스/Level2/파이썬3(python3)] 땅따먹기 문제 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 들면, | 1 | 2 | 3 | 5 | | 5 | 6 | 7 | 8 | | 4 | 3 | 2 | 1 | 로 땅이 주어졌다면, 1행에서 네번째 칸 (5)를 밟았으면, 2행의 네번째 칸 (8)은 밟을 수 없습니다. 마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하는 solution ..