전체 글
-
[백준] Python - 알파벳개발/알고리즘 2022. 4. 13. 10:41
1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 백준의 그래프 탐색 문제 알파벳이다. 이 문제는 DFS와 BFS 두 가지 방법으로 접근했다. DFS 같은 경우는 재귀를 사용하여 visited 집합에 방문 여부를 저장하는 방식을 사용했다. DFS와 BFS가 모두 인접 행렬/인접 리스트 각각에서 시간 복잡도가 같은 걸로 알고 있는데 DFS 방식은 PyPy3로 해결할 수 있었고 Python3로는 시간초과가 발생했다. BFS를 사용한 방식은 조금의 변형이 있었다. 일반적으로 우리는 FloodFill과 같은 알..
-
[백준] Python - 바이러스개발/알고리즘 2022. 4. 11. 23:29
2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 백준의 그래프 문제 바이러스다. 1번 PC와 네트워크로 연결된 PC들이 주어지고 1번을 제외한 바이러스로 감염시킬 수 있는 PC의 수를 세는 문제이다. DFS나 Union-Find를 사용하면 풀 수 있을 것이라 생각했고 DFS를 사용해서 풀 수 있었다. for i in range(1, c+1): #다음 이동할 컴퓨터 if G[v][i] and visited[i] == 0: # 네트워크 연결이 되어 있는지, 방문한 적이 있는지 visited[i] = 1 infect +..
-
라즈베리파이를 이용한 멀티 노드 클러스터링 (4) - Spring BootDevOps, 클라우드/Docker & Kubernetes 2022. 4. 6. 23:07
기존에 짜던 스프링부트 API 서버를 k3s 클러스터를 통해 배포해보려고 한다. 스프링부트에 대한 정리는 추후 여유가 있다면 한번 해보겠다. # safe-dp.yaml apiVersion: apps/v1 kind: Deployment metadata: name: safeapi-dp spec: selector: matchLabels: app: safe-api template: metadata: labels: app: safe-api spec: containers: - name: safeapi-dp image: floodnut/apiserver-dp-arm64:latest imagePullPolicy: Always resources: limits: memory: "2Gi" cpu: "2" ports: - c..
-
라즈베리파이를 이용한 멀티 노드 클러스터링 (3) - MySQLDevOps, 클라우드/Docker & Kubernetes 2022. 4. 5. 02:58
쿠버네티스 공부를 하겠다고 한 후 한참이 지났다. 사실 그 동안 정말 오케스트레이션을 쓰는게 좋은 것인가?를 두고 많이 고민했다. 정확히는 내가 만드는 서비스, 프로젝트에서 쿠버네티스가 정말 효용성이 있는지를 따지다보니 후순위로 밀린 감이 없지 않아 있다. 이번에 진행 중인 프로젝트를 위해서 데이터베이스와 API 서버를 k3s에 배포해보려고 한다. 다시금 쿠버네티스를 만져보면서 이전에 써둔 글을 그대로 따라했다. 물론 별 내용은 없지만 매 번 검색하고 찾는 것보다는 내가 정리한 글이 따라해보기 편한 것 같다. 그래서 이 글도 계속 작성하려한다. #pv-local.yaml apiVersion: v1 kind: PersistentVolume metadata: name: "pv-local" labels: ty..
-
[프로그래머스] Python - 더 맵게개발/알고리즘 2022. 4. 1. 00:40
코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 정렬을 이용하는 문제다. 최소 힙을 사용해서 지속적으로 최소값 2개를 빼오고 그 결과를 다시 넣는 형태로 구현했다. 여기까지의 구현은 정말 누구나 생각할 수 있고 쉬운 난이도인데 -1을 출력하는 조건에서 살짝 고민을 했다. K 이상의 맵기를 만들 수 없는 상황이면 2개의 최소값을 뽑아 올 수 없는 상황이라고 생각하고 여러 번 조건을 바꿔봐도 마지막 TC에서 오답처리 되길래 다른 사람의 코드를 보니 Index Error로 예외처리를 해주는 것을 확인했..