백준 14889번 - 스타트와 링크 (Go)
·
algorithm
https://www.acmicpc.net/problem/14889분석이 문제는 n 명 중 n / 2 명을 뽑는 문제입니다. 뽑는 것에 순서는 필요가 없으니 조합 문제 입니다.N=20 이라는 작은 입력 크기 덕분에 브루트 포스와 백트래킹으로 가능합니다.시간 복잡도는 4 184,756 * 400 = 7300만 으로 시간 제한에 여유롭습니다.공간 복잡도는 int 형 O(n2) = 8byte * 400 = 3200 byte 으로 여유롭습니다. 풀이 코드package mainimport ( "bufio" "fmt" "math" "os")var ( n int powers [][]int visited []bool res = math.MaxInt32)func main() { in := bufio.NewReader(o..
[본투비엔지니어] 나에게 베어본만 주어진다면?? (11)
·
project/본투비엔지니어
지난 편까지 프로토 타입 앱을 배포하고 외부 접속에 성공했습니다. 이제 매번 터미널에서 'kubectl apply -f ...' 를 치는 원시적인 배포 방식과 작별할 시간입니다. 오늘은 쿠버네티스 배포 GitOps를 ArgoCD로 구현하겠습니다. Foundry 프로젝트를 진행하면서 코드를 수정할 때마다 이런 과정을 반복했습니다.코드 수정 & 커밋도커 이미지 빌드 & 푸시foundry.yaml 의 이미지 태그 수정kubectl apply -f ... 실행매번 이 과정이 반복되기도 하고, 태그 수정을 까먹기도 합니다. 그래서 Git 에 있는 내용이 곧 서버의 상태가 되도록 하는 GitOps 를 구현하겠습니다. 1. ArgoCD 설치kubectl create namespace cicd-systemkubect..
백준 17144번 - 미세먼지 안녕! (Go)
·
algorithm
https://www.acmicpc.net/problem/17144분석이 문제는 미세먼지가 확산되고, 공기청정기가 바람을 일으켜 청소하는 과정을 시뮬레이션 하는 문제입니다. 알고리즘 과정을 생각해보면미세먼지 확산 (spread 함수) 은 모든 칸이 동시에 확산되므로, 원본 배열을 수정하는 것 보단 새로운 배열을 만들어 원본 배열에 반영합니다.청소 (clean 함수) 는 바람이 불어오는 역순으로 탐색해야 합니다.최종 결과를 합산합니다.시간 복잡도는 모든 칸을 순회하고, t 만큼 반복하므로 O(t * r * c) 입니다.6 공간 복잡도는 2차원 배열 2개를 사용하므로 O(r * c) 입니다.풀이 코드package mainimport ( "bufio" "fmt" "os")var ( r, c, t int gr..