일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 코사인유사도
- xmltodict
- 그래프이론
- 재귀
- 그래프탐색
- 비트마스킹
- pandas
- 자연어처리
- 그리디
- dp
- TF-IDF
- 유클리드
- 공공데이터
- 건축물대장정보
- 유사도
- geopy
- GroupBy
- 분할정복
- NLP
- 수학
- Geocoding
- 누적합
- 깊이우선탐색
- 백준
- 우선순위큐
- 지진대피소
- cosine
- 구현
- 전처리
- 너비우선탐색
- Today
- Total
목록알고리즘 (26)
정리용
https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 1. 코드설명 1-1 재귀 sys.setrecursionlimit(10**6) def dfs(i): done[i]=1 for j in arr[i]: if done[j]==0: dfs(j) n,m =map(int,input().split()) arr = [[] for i in range(n+1)] for i in range(m): a,b..
https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 1. 코드설명 import sys input = lambda : sys.stdin.readline().strip() s=[] for i in range(int(input())): a=input().split() if a[0] == 'all': s=[i for i in range(1,21)] continue elif a[0] == 'empty': s.clear() continue num=int(a[1]) if a[0] == 'add'..
https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 1. 코드설명 import sys input = sys.stdin.readline n,m = map(int,input().split()) arr = list(map(int,input().split())) # 첫번째 수부터 n 번째 수까지 합을 list 행태로 저장 # arr = [5, 4, 3, 2, 1] # sum_arr = [0, 5, 9, 12, 14, 15] sum_..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1. 코드설명 n,k = map(int,input().split()) coin =[int(input()) for _ in range(n)] cnt = 0 for i in range(n-1,-1,-1) : if k >= coin[i] : cnt += k//coin[i] k = k%coin[i] print(cnt) 2. 주의사항 기본적인..
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 1. 코드설명 f = int(input()) dp= [1, 2, 4] for i in range(3, 10) : dp.append(dp[i-1] + dp[i-2] + dp[i-3]) for i in range(f) : n = int(input()) print(dp[n-1]) 2. 주의사항 dp의 기본적인 유형
1.코드설명 2. 주의사항
https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net 1. 코드설명 # 50점 n = int(input()) m = int(input()) s = input() i = 0 count = 0 pn = 'IO'*n + 'I' while i