일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pytorch
- Learning
- 프로그래머스
- 코딩교육
- SSAFY 입학식
- dfs
- 전이학습
- 백준7576 bfs
- ssafy 7기 교수님
- bfs
- 싸피 7기 입학식
- 프로그래머스 고득점 kit
- SWEA
- DenseNet
- 백준
- ssafy 7기 합격
- 삼성청년sw아카데미
- 삼성 청년 SW 아카데미
- 코딩 교육
- 웹 표준 사이트 만들기
- DP
- 알고리즘
- SSAFYcial
- SSAFY
- 유니온 파인드
- React
- SSAFY 8기
- git
- 이코테
- ssafy 7기
- Today
- Total
목록알고리즘 (111)
개미의 개열시미 프로그래밍
https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net [풀이 코드] from sys import stdin input = stdin.readline n = int(input()) # 도시의 개수 m = int(input()) # 버스의 개수 INF = int(1e9) graph = [[INF] * (n+1) for _ in range(n+1)] for i in range(1, n+1): for j in range(1, n+1): if i == j: ..
내일 코테를 앞두고 백준에서 최단경로 알고리즘 문제를 풀어보았다. 한 지점에서 다른 모든 지점까지의 최단 경로를 찾는 문제인데 내일 이런 문제 한 문제만 나오길 빌면서.. https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net [풀이 코드] from sys import stdin import heapq INF = 300000 input = stdin.readline v, e = map(int, input().split()) ..
https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net [풀이 코드] from sys import stdin from collections import deque input = stdin.readline n, m = map(int, input().split()) indegree = [0] * (n+1) graph = [[] for i in range(n+1)] for _ in range(m): a, b = m..
https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net [풀이 코드] from sys import stdin input = stdin.readline v, e = map(int, input().split()) parent = [i for i in range(v+1)] array = [] result = 0 def find_parent(parent, x): if parent[x] != x: parent[x]..
https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net [실패한 유니온 파인드 풀이 코드] # 유니온 파인드로 풀어봄 parent = [i for i in range(n+1)] cnt_list = [0 for _ in range(n+1)] def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] de..
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net [풀이 코드] import sys n = int(input()) graph = [[] for _ in range(n + 1)] parent = [[] for _ in range(n + 1)] # 트리를 그래프 형태로 생성 for _ in range(n - 1): i, j = map(int, sys.stdin.readline().split()) graph[i].append(j) graph[j].append(i) def dfs(start): stack = [sta..
이제 실버 문제 이상만 풀기 도전.. 알고리즘 초보라 뭐가 브론즈 문제인지 실버 문제인지 구분도 못했다..ㅎ https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net [풀이 코드] from sys import stdin input = stdin.readline n, m = map(int, input().split()) cnt = 0 flag = False a = [list(map(int, input().strip())) for i in range(n)] b = [li..
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net [풀이 코드] n = int(input()) array = [] for _ in range(n): array.append(int(input())) array.sort(reverse=True) for index, value in enumerate(array): array[index] = value * (index+1) print(max(array)) - 내림차순으로 정렬을 해준다. 처음엔 ..