본문 바로가기

반응형

코딩 이야기

(100)
맥에서 라즈베리파이 제로 w 기본 설정, 기본 셋팅 서론 시험이 끝나고 가지고 놀려고, 라즈베리파이 제로 W 모델을 중고로 저렴하게 구입하였다. 방학동안 간단하게 웹서버 한번 운영해보려고, 구입했다. 필자는 현재 기본세팅을 마친 후 라즈비안을 올리고, 아파치와 mariadb를 설치해두었다. 기본세팅은 간단하지만, 필자와 같이 라즈베리파이가 처음이라면 헤맬 수 있으니 같이 한번 기본셋팅을 해보도록 하자.(라즈베리파이 제로 W 모델을 기준으로 설명) 준비물: 라즈베리파이 제로 W(다른 라즈베리파이 모델도 괜찮습니다.) 마이크로 SD카드(필자는 16GB, 다이소에서 구입)(8GB이상 권장) 마이크로 SD카드 리더기(만약 본인이 마이크로 sd카드를 꽂을 수 있는 일반 sd카드가 있다면 일반 SD카드도 괜찮습니다.) 컴퓨터 시작! 일단 마이크로 sd카드에 운영체제..
파이썬 탐욕(그리디) 알고리즘 사용하기 탐욕 알고리즘? 그리디 알고리즘? 탐욕 알고리즘은 이름하고 유사한 구조를 가진 알고리즘이다. 탐욕 알고리즘을 다른 말로 그리디 알고리즘 혹은 욕심쟁이 알고리즘이라고도 한다. 탐욕이라는 이름 그대로 지금 당장의 문제가 하나 주워졌을때, 나중은 고려하지 않고 지금의 가장 최적의 답을 도출하는 알고리즘이다. 한가지 상황을 예시로 들자면 사자성어 "조삼모사"가 떠오른다. 누군지는 기억안나는데 암튼 누군가가 원숭이들을 기르는데, 먹이가 부족해서 먹이를 줄여서 원숭이들에게 아침에 3개 저녁에 4개를 준다고 하자 원숭이들이 화를 냈다. 그러자 주인이 아침에 4개 저녁에 3개를 주겠다고 하니 원숭이들이 좋아한다는 그런 내용의 사자성어이다. 내용 그대로 당장 지금의 상황만 중요한 원숭이들이 그리디 알고리즘과 흡사하다. ..
백준 9019번: DSLR 파이썬 코드(BFS) import sys from collections import deque t = int(sys.stdin.readline()) def bfs(a1,b1): queue = deque([]) queue.append([a1, ""]) visited = [0 for _ in range(10000)] while queue: now, string = queue.popleft() if now == b1: return string #D--------------------------------- temp2 = now now = now * 2 if now > 9999: now = now % 10000 if visited[now] == 0: queue.append([now, string + "D"]) visited[now]..
백준 1931번: 회의실 배정 파이썬 코드(그리디 알고리즘) import sys n = int(sys.stdin.readline()) mm = [] #mm은 회의실 목록 temp = 0 count = 0 for _ in range(n): start, end = map(int, sys.stdin.readline().split()) mm.append([end,start]) mm = sorted(mm) for i in range(n): if i == 0: temp = mm[i][0] count += 1 else: if temp
백준 15686번: 치킨 배달 파이썬 코드(백트래킹) import sys from itertools import combinations n,m = map(int, sys.stdin.readline().split()) home = [] chicken = [] for i in range(n): a = list(map(int, sys.stdin.readline().split())) for j in range(n): if a[j] == 1: home.append([i+1,j+1]) elif a[j] == 2: chicken.append([i+1,j+1]) INF = sys.maxsize temp = [] dislist = [] for k in combinations(chicken, m): distance = [INF for _ in range(len(home))]..
백준 13549번: 숨바꼭질 3 파이썬 코드(bfs) import sys from collections import deque n,k = map(int,sys.stdin.readline().split()) x = [-1, 1, 2] ll = [] def bfs(now,target): queue = deque([]) visited = [0 for _ in range(300009)] queue.append([now,0]) while queue: q,c = queue.popleft() visited[q] = 1 if q == target: count = c ll.append(count) for i in range(3): if i == 2: a = q * 2 if visited[a] == 0 and 0
백준 1912번: 최소비용 구하기 파이썬 코드(다익스트라) import heapq import sys n = int(sys.stdin.readline()) m = int(sys.stdin.readline()) INF = sys.maxsize graph = {} dist = [INF] * (n) queue = [] for _ in range(m): s,t,w = map(int, sys.stdin.readline().split()) if s-1 not in graph: graph[s-1] = [[t-1,w]] else: graph[s-1].append([t-1,w]) startpoint, endpoint = map(int, sys.stdin.readline().split()) def dijkstra(start): heapq.heappush(queue, [0, sta..
백준 1697번: 숨바꼭질 파이썬 코드(bfs) import sys from collections import deque n,k = map(int,sys.stdin.readline().split()) x = [-1, 1, 2] def bfs(now,target): queue = deque([]) visited = [0 for _ in range(300009)] queue.append([now,0]) while queue: q,c = queue.popleft() visited[q] = 1 if q == target: count = c return count for i in range(3): if i == 2: a = q * 2 else: a = q + x[i] if visited[a] == 0 and 0

반응형