기타
-
백준 파이썬 9613번 - GCD 합기타/알고리즘 2021. 6. 27. 14:16
9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net 포인터 두 개를 이용하여 모든 경우의 수에 대해 GCD를 구하여 answer에 더해나가는 식으로 구하였다 숫자 리스트의 첫 번째 요소가 수의 개수를 나타내므로, 포인터의 인덱스를 1부터 시작하도록 설정했다 def gcd(a,b): if b == 0: return a aa = a%b return gcd(b,aa) t = int(input()) for _ in range(t): a = list(map(int,input().split())) a..
-
백준 파이썬 9417번 - 최대GCD기타/알고리즘 2021. 6. 27. 13:57
9417번: 최대 GCD 첫째 줄에 테스트 케이스의 개수 N (1 < N < 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 양의 정수 M (1 < M < 100)개가 주어진다. 모든 수는 -231보다 크거나 같고, 231 -1보다 작거나 www.acmicpc.net 정수가 여러개 주어졌을 때 모든 두 수의 쌍 중에서 가장 큰 최대공약수를 찾아야 한다 포인터 두 개를 이용하여 모든 두 쌍의 GCD를 구하는 방법을 이용했다 길이가 n인 리스트가 존재한다면 for i in range(n-1): for j in range(i+1,n): 이렇게 처음 반복문은 가장 처음부터 마지막 두 번째 숫자까지 (0 to n-1) 두 번째 반복문은 처음 포인터의 다음 숫자부터 마지막 숫자까지 (i+1 to..
-
가상화폐 알고리즘 투자, 헤이비트 2달 투자후기기타/가상화폐 2021. 6. 6. 10:06
헤이비트는 알고리즘을 이용하여 가상화폐를 대신 투자해주는 서비스다 예전에는 변동성 돌파 전략과 FF전략 두 가지를 운용했고, 전자는 무료로 제공했는데 'FF전략 대비 변동성 돌파 전략이 모든 면에서 뒤지기 때문에' 현재 폐지되었고 FF전략만 제공하고 있다 FF전략의 성과는 꽤 좋다 약 7개월간 138%의 수익을 거뒀는데, 수익 자체는 가상화폐시장의 변동성을 생각해보면 별 것 아닌 것 같기도 하다. 오르는 걸 잘 잡으면 2~3일만에도 얻을 수 있는 수익이고, 가상화폐에 몇개월동안 투자해본 사람이면 한번쯤은 경험해봤을 것이다 주목해야할 건 최대 낙폭이다. 하루에도 10%, 20%씩 떨어지는 시장에서 최대 낙폭(전고점에서 떨어진 정도)이 10%밖에 되지 않는다. 100만원이 하루아침에 200만원이 됐다가 며칠..
-
디파이에 숏을 결합하면 어떻게 될까? (아이디어 실험)기타/가상화폐 2021. 6. 4. 23:14
디파이는 어렵기 때문에 나도 이해하지 못했다. 내가 아는 최대한의 지식으로 디파이에 대해 쉽게 설명한다면 "기초자산의 가격이 오를 땐 덜 오르고, 가격이 내릴 땐 더 내린다. 그 대신 이자를 준다" 라고 할 수 있고, 솔직하게 표현하면 "돈 많고 똑똑한 애들이 피같은 내 돈으로 차익거래하며 무리스크로 돈복사하는 동안 나는 이자만 받는 상품" 이라고 말할 수 있을 것이다. 그럼에도 별다른 노력 없이 높은 수익률을 기대할 수 있다는 점에서 좋다. 클레이튼의 스테이블코인 페어의 경우 한때 APR이 180%를 넘었었다(이런데도 바보들은 KBTC-KLAY, KLAY-KSP같은 페어에 돈을 예치했다. 대부분의 코인투자자들은 리스크대비수익이라는 개념이 없다). 이렇게 숨어있는 꿀단지도 있고, 여러모로 머리를 잘 굴리..
-
백준 파이썬 15486 : 퇴사 2 풀이기타/알고리즘 2020. 12. 26. 23:32
15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net n 1일 2일 3일 4일 5일 6일 7일 T[i] 3 5 1 1 2 4 2 P[i] 10 20 10 20 15 40 200 M 0 0 0 10 30 30 45 dp[i] 0 0 0 10 30 0 45 각각의 날들을 '그날 상담을 시작하는 경우'와 '그날 상담을 시작하지 않는 경우'로 나눌 수 있다 만약 1일이라면 T = 3인 일을 시작할 수도 있고, 시작하지 않을 수도 있는 것이다 상담을 시작한다면, 상담이 끝난 다음 날의 수익이 P..
-
백준 파이썬 11722번 : 가장 긴 감소하는 부분 수열 풀이기타/알고리즘 2020. 12. 25. 10:54
11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net nums 안의 수에 대해 가장 긴 감소하는 부분 수열의 길이를 구하는 문제다. 앞의 수가 다음 수보다 크다면 문제의 조건을 만족한다 각 인덱스에 대해 자신보다 인덱스가 작은 값을 검색하여 조건을 만족하는 수의 개수를 찾는다 앞의 인덱스에서 조건을 만족하는 수의 개수를 찾으면, 다음 계산시에 이를 이용해준다. 예제로 주어진 nums = [10, 30, 10, 20, 20, 10]로 생각해보면..
-
[파이썬] 리트코드 198. House Robber 풀이기타/알고리즘 2020. 12. 24. 23:04
House Robber - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 도둑이 이웃한 두 집을 연속해서 털 수 없을 때, 이익이 최대가 될 때의 값을 출력하는 문제다. 집 1, 2, 3, 4가 이웃해 있다면, 1을 털면 2는 털 수 없는 것이다. 2를 털면 1은 털 수 없다. 집 1,2 중에서 선택이 끝나면 집 3과 4에 대해서도 동일한 과정이 반복된다. 즉, '한 집을 털 것이냐, 털지 않고 다음 집을 털 것이냐'가 연속된 게임인 것이다. 따라서 1. 배열의..
-
[파이썬] 리트코드 39. Combination Sum 풀이기타/알고리즘 2020. 12. 24. 22:53
Combination Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com candidates = [2,3,6,7] 와 같은 식으로 주어졌을 때, candidates안의 요소들을 더하여 target = 7을 만들 수 있는 배열을 출력하는 문제다. 그래프를 탐색하며 각각의 값들을 더해가다가 합한 값이 target이 되었을 때, 여태까지의 경로를 출력하면 되는 것이다. 1. dfs의 변수로 csum(target까지 남은 수), index, path를 이용한다 2..