분류 전체보기
-
알고리즘: 백준 15686번 치킨 배달 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 17. 01:23
15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net import sys from collections import deque from itertools import combinations import copy read = sys.stdin.readline N, M = map(int, read().split()) country = [] chick = [] for i in range(N): country.append(list(map(int, read().split()))) for j in rang..
-
리눅스 기초 명령어6 (sort)리눅스 2021. 1. 16. 18:42
-b: 선행 공백 무시 -f: 대소문자 구별안함 -n: 숫자로 정렬 -R: 해시의 키값 기준, 랜덤 정렬 -r: 역순(내림차순) 정렬 -h: --human(2K, 1G) -c: 정렬되어 있는지 검사 -k n: n번째 필드를 기준으로 정렬 -m: 이미 정렬된 파일들을 병합 -o: 파일출력 -t: 필드 구분자를 지정 -u: 정렬 후 중복된 내용을 제거 1. nl kor -> 1 90 2 54 3 44 4 50 5 90 sort kor | nl -> 1 44 2 50 3 54 4 90 5 90 값을 오름차순으로 정렬한다. 2. sort -r kor | nl -> 1 90 2 90 3 54 4 50 5 44 값을 내림차순으로 정렬한다. 3. sort -r -u kor | nl -> 1 90 2 ..
-
리눅스 기초 명령어5 (uniq, shuf, cut, awk)리눅스 2021. 1. 16. 17:47
nl b -> 1 one 2 two 3 three 4 three 5 three 6 two 7 two 8 two 라고 할때 1. uniq b b 파일에 중복되어 있는 것들만 찾아준다. uniq b -> one two three two 2. sort를 이용해서 다음과 같이 출력할 수도 있다. sort b | uniq -> one three two 3. uniq -c b | nl -> 1 1 one 2 1 two 3 3 three 4 3 two -c 옵션은 중복되는 문자를 카운트한다. 4. uniq -u b -> one two 중복되지 않는 것들만 출력한다. 5. uniq -d b -> three two 중복된것만 보여준다. 대문자 -D는 중복된 것들을 뿌려준다. 6. uniq k -f -> 1 이순신 90 ..
-
알고리즘: 백준 2211번 네트워크 복구 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 15. 15:29
2211번: 네트워크 복구 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 회선의 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 컴퓨터와 B번 컴퓨터가 통신 시간이 C (1 ≤ C ≤ 10)인 회선으로 연결되어 있다 www.acmicpc.net import sys import heapq read = sys.stdin.readline INF = sys.maxsize N, M = map(int, read().split()) net = {i: [] for i in range(1, N+1)} for _ in range(M): A, B, C = map(int, read().split()) net[A].append([C, B]) net[B].append([C, A]) times =[[0..
-
알고리즘: 백준 10282번 해킹 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 15. 14:18
10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net import sys import heapq INF = sys.maxsize read = sys.stdin.readline case = int(read()) def sol(): n, d, c = map(int, read().split()) depen = {i:[] for i in range(1, n+1)} for _ in range(d): a, b, s = map(int, read().split()) depen[b].append([s, a]) visit = [] hq ..
-
알고리즘: 백준 11779번 최소비용 구하기2 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 15. 13:29
11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 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 _ in range(m): s, e, w = map(int, read().split()) graph[s].append([w, e]) start, end = map(int, read().split()) INF = s..
-
알고리즘: 백준 2665번 미로만들기 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 13. 13:13
2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1≤n≤50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net import sys import copy import heapq read = sys.stdin.readline n = int(read()) maze = [] for i in range(n): maze.append(list(map(int, read().strip()))) visit = copy.deepcopy(maze) def bfs(): hq = [] heapq.heappush(hq, [0,0,0]) dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] ..
-
알고리즘: 백준 4485번 녹색 옷 입은 애가 젤다지? (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 12. 20:02
4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net import sys import heapq read = sys.stdin.readline def problem(): N = int(read()) if N == 0: return -1 cave = [list(map(int, read().split()))for _ in range(N)] dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] visit = [[False for _ in range(N)] for _ in range(N)]..