알고리즘(66)
-
백준 2018 파이썬, 투 포인터
백준 2018 : 수들의 합 5 문제 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 답안 코드 : n = int(input()) count = 1 start_index = 1 end_index = 1 sum = 1 while end_index != n: if sum == n: count += 1 end_index += 1 sum += end_index elif sum > n: sum -= start_index start_..
2024.02.05 -
백준 10986 파이썬 , 구간 합 배열 이용
백준 10986 : 나머지 합 문제 https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline n, m = map(int, input().split()) A = list(map(int, input().split())) S = [0]*n C = [0]*m S[0] = A[0] answer = 0 for i in range(1, ..
2024.02.03 -
백준 11660 파이썬, 구간 합 알고리즘, 2차원 배열
백준 11660 : 구간 합 구하기 5 문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline n, m = map(int, input().split()) A = [[0] * (n + 1)] D = [[0] * (n + 1) for _ in range(n + 1)] for i in range(n): A_row = [0] + ..
2024.02.01 -
백준 11659 파이썬, 구간 합 알고리즘, sys.stdin.readline()
백준 11659 : 구간 합 구하기 4 문제 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline suNo,quizNo = map(int, input().split()) numbers = list(map(int, input().split())) prifix_sum = [0] temp = 0 for i in numbers: temp = temp +..
2024.01.30 -
퀀트 투자란? 수학과 알고리즘이 주식 시장에서 어떻게 활용되는가?
퀀트 투자안녕하세요, MKISOS입니다. 오늘은 주식 시장에서 많이 언급되는 퀀트 투자에 대해 이야기해보려고 합니다. 퀀트 투자란 수학과 알고리즘을 활용하여 주식 시장에서 투자하는 방법을 말하는데요. 이번에는 퀀트 투자의 개념부터 실제로 어떻게 활용되는지에 대해 알아보도록 할게요!퀀트 투자란? 수학과 알고리즘이 주식 시장에서 어떻게 활용되는가?퀀트 투자의 개념 및 준비 과정퀀트 투자는 수학적 계산과 알고리즘을 활용하여 주식 시장에서 투자하는 방식을 말합니다. 이는 주식 시장에서 예측 가능성을 찾아내고, 시장의 변동성에 대응하는 방법을 제공합니다. 퀀트 투자를 수행하기 위해서는 먼저 적절한 데이터와 계산 방식을 선택하고, 이를 테스트하기 위한 백테스팅 과정을 거쳐야 합니다. 백테스팅은 과거 데이터를 사용하..
2024.01.23 -
백준 2750 파이썬 (+시간 복잡도 활용)
백준 2750 : 수 정렬하기 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 답안 코드 : n = int(input()) L = [] for i in range(n): L.append(int(input())) L.sort() for i in range(len(L)): print(L[i]) 생각 : 시간 복잡도 활용하기 시간 제한이 1초이므로 이 조건을 만족하려면 2,000만 번 이하의 연산 횟수로 문제를 해결해야 한다. (시간 복잡도는 항상 최..
2024.01.07