분류 전체보기
-
알고리즘: 백준 13549번 숨바꼭질 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 12. 18:45
13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net import sys from collections import deque read = sys.stdin.readline N, K = map(int, read().split()) MAX = 100000 visit = [False for _ in range(MAX + 1)] def bfs(): queue = deque() queue.append(N) count = deque() count.append(0) min = MAX while..
-
알고리즘: 백준 1504번 특정한 최단 경로 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 12. 14:41
1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net import sys import heapq read = sys.stdin.readline N, E = map(int, read().split()) graph = {i:[] for i in range(1, N+1)} for _ in range(E): a, b, c = map(int, read().split()) graph[a].append([b,c]) graph[b].append([a,c]) v1, v2 = map(in..
-
리눅스 기초 명령어4 (ls, vdir, paste, join)리눅스 2021. 1. 12. 10:09
1. ls -l l은 long이라는 뜻으로 파일 내부를 자세히 보여준다. (ls는 ls --color=auto가 alias가 되어있는 것이다. 만약 ls만 확인해보고 싶다면 \ls) 2. ls -a a는 all의 의미로 숨김파일까지 보여준다. .은 자기자신 디렉토리를 나타내고 ..은 부모디렉토리를 나타낸다. 3. ll ll은 ls -l --color=auto를 alias한것 4. ll -h 사람이 보기 편하게 용량을 문자로 보여준다. 5. ls -i 파일의 고유번호 6. ll -S 파일 크기를 내림차수로 정렬해서 보여준다. 7. ll -Sr 파일 크기를 오름차수 정렬해서 보여준다. 8. ls -lt t옵션을 주어 파일을 최근순으로 정렬한다. 9. vdir ls -l과 동일하게 보여준다. 10. paste..
-
알고리즘: 백준 1238번 파티 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 11. 20:07
1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net import sys import heapq read = sys.stdin.readline N, M, X = map(int, read().split()) graph = {i: []for i in range(1, N+1)} # 각 마을에서 X로 가는 방향 그래프 graph2 = {i: []for i in range(1, N+1)} # X에서 각 마을로 가는 그래프 for _ in range(M): s, e, l = map(int, re..
-
알고리즘: 백준 1261번 알고스팟 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 11. 18:03
1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net import sys import heapq read = sys.stdin.readline m, n = map(int, read().split()) maze = [list(map(int,read().strip()))for i in range(n)] visit = [[0 for _ in range(m)] for _ in range(n)] def dijkstra(): dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] hq = [..
-
알고리즘: 백준 1753번 최단경로 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 11. 15:25
1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net import sys import heapq read = sys.stdin.readline N = int(read()) M = int(read()) graph = {i:[] for i in range(1, N+1)} for i in range(1, M+1): s, e, v = map(int, read().split()) graph[s].append([e,v]) start, end = map(int, read().split()) INF =..
-
알고리즘: 백준 11724번 연결 요소의 개수 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 8. 10:57
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 import sys read = sys.stdin.readline n, m = map(int, read().split()) graph = {} for i in range(n): graph[i+1] = [] for _ in range(m): u, v = map(int, read().split()) graph[u].append(v) graph[v].append(u) global count count = 0..
-
리눅스 기초 명령어2 (head, tail, split)리눅스 2021. 1. 8. 02:01
1. seq 100 10 160 100부터 시작해서 160까지 10간격으로 숫자 출력 2. mv a b a를 b에 덮어쓰기 3. head a a파일을 위에서부터 10줄 보여준다. 원래는 head -n 10 a가 생략된것 (디폴트값이 10) 4. head -n -10 a 마이너스의 경우 뒤에서부터 열줄 잘라낸다. 즉 뒤의 열줄을 제외하고 출력 5. head -n 5 a b a파일과 b파일을 위에서부터 5줄 출력 6. head -n 5 a b -q header를 제외하고 출력 (q는 quiet) 7. tail -n 10 a a파일을 뒤에서부터 10줄 보여준다. (디폴트값이 -10) (-가 생략되어 있으며 +로 하면 그 값부터 끝까지 보여준다) 8. tail -f a a파일의 변화를 모니터링한다. (다른 터미..