본문 바로가기

분류 전체보기

(694)
우선순위 큐. [1202] [1. 문제 설명] https://www.acmicpc.net/problem/1202 [2. 풀이 접근] 카테고리는 우선순위 큐를 이용해서 푸는 방법이지만, map 을 이용해서 풀 수 도 있다. map 을 이용한 풀이 기본적인 전략은 아래와 같다. 훔친 보석의 가격을 최대로 해야 하므로, 보석 가격 순을 내림차순 정렬 후, 하나 씩 가져가는 방식이다. 이 때, 보석 무게가 도둑이 갖고 있는 가방 들 중 어느 하나에 포함될 수 있어야 한다. 이 때 이분 탐색을 위해, 가방 무게 역시 오름차순으로 미리 정렬 되어 있어야 한다. 그래서 보석을 기준으로 iterate 하면서 보석을 선택적으로 취해 나가는 것이다. 단) 여기서 아래와 같은 문제가 있다. 이번 보석을 어느 가방에 넣었으면, 이 가방은 다음 탐색에서..
트리-DP. [1949] [1. 문제 설명] https://www.acmicpc.net/problem/1949 [2. 풀이 접근] 처음에는 완전 탐색 형식으로 풀어보고, 메모이제이션 해서 최적화 하는 방법으로 접근해보려 했는데, 이 때, 문제에서 조건 중 3번 조건을 다루기가 많이 까다로웠다. root 가 선택되지 않았을 때, 적어도 하나의 자식은 우수 마을로 선정되어야 한다. 자식 노드의 개수가 4 개일 때, 전체 경우의 수는 (2^4-1) 개 이다. # 전체 경우의 수에서, 모두 우수 마을이 아닌 경우를 뺀 개수 자식 노드의 개수가 늘어나면 지수 형태로 경우의 수가 늘어나므로, 적절한 풀이가 아니다. 찾아보니 일반적인 풀이는 아래와 같다. 부분 문제를 다음과 같이 정의 # 어떤 노드를 root 로 하는 서브 트리에서 최대 주..
pod stuck [1. 개요] pod 생성 시, status 가 계속 ContainerCreating 인 경우 describe 로 pod 상태 확인 시, cni.0 ~~ ip 문제 인 경우 이런 상황에서 해결 방법? [2. 원인] CNI 플러그인으로 flannel 설치 시에도 문제가 되었던 부분이 있었는데, host 상에 ifconfig 로 네트워크 인터페이스에 할당 된 ip 주소 범위가 겹치는 경우 주로 발생했음 kubectl get services 에서 service/kubernetes 의 Cluster-ip : 10.96.0.1 일 때, --pod-network-cidr 및 kube-flannel.yml 에서 ip 주소 대역을 10.96.0.0/16 으로 명시한 경우 [3. 해결책] Docker 및 쿠버네티스 설치..
트리. [2533] [1. 문제 설명] https://www.acmicpc.net/problem/2533 [2. 풀이 접근] 문제 조건에서 주어지는 그래프는 트리 형태이다. 어떤 노드에서 인접한 모든 노드가 얼리 어답터일 때만, 이 노드 역시 얼리어답터가 될 수 있다. leaf 노드인 경우, 이 노드가 얼리어답터가 될 수 없다. 트리에서 노드는 최소 2개 이상이다. Left - Root - Right 인 구조에서, Left 를 얼리어답터로 선정한다면, Right 역시 얼리어답터로 해야한다. => Root 만 얼리어답터로 선정하는 것이 더 낫다. 그래서, Leaf 노드 역시 얼리어답터가 되려면, Leaf 에 유일하게 연결되는 Parent 가 얼리어답터가 되어야 한다. Leaf 및 parent 를 얻기 위한 트리 구성 임의의 ..
트리. [2250] [1. 문제 설명] https://www.acmicpc.net/problem/2250 [2. 풀이 접근] [3. 코드]
github token 사용 [1. 개요] github 에서 repository clone 후, push 작업등을 할 때, id, pw 인증이 더 이상 되지 않고, token 기반으로 대체 됨. token 기반으로 인증하는 방법 기록 [2. token 생성] github 로그인 -> settings -> developer settings ... [3. clone 시] 기존 $ git clone https://github.com/my/repository 이후 $ git clone https://{user_name}:{token}@github.com/my/repository => clone 할 때 부터, token 으로 인증해서, push 등의 작업이 간편하다. [4. 기존 repository 에서 config 수정] $ vim .gi..
스택. [1918] [1. 문제 설명] https://www.acmicpc.net/problem/1918 [2. 풀이 접근] 피연산자가 먼저오고, 연산자가 마지막에 오는 구조, 연산자 우선순위에 따라, 먼저 온 연산자 처리가 결정된다. 코드 주석 참조 [3. 코드]
카프카 서버 설정 값 정리 [1. 개요] kafka 서버 구축 시, server.properties 에서 사용하는 설정 의미 정리한다. [2. 설정 값 목록] 필수 목록 broker.id => 카프카 id 를 의미한다고 볼 수 있다. => 클러스터 구축 시, 각 노드의 카프카는 서로 다른 id 를 가져야 한다. => 0 부터 순차적을 할당하도록 한다. => log.dirs => zookeeper.connect => 그 외 listeners => kafka broker 가 내부적으로 바인딩 하는 주소, 서버 실행 시 서버 소켓을 위함 => ip:port 형식으로 작성 => 0.0.0.0:9092 로 binding 하면, 모든 NIC 에서 요청을 받는다. advertiesd.listeners => producer 또는 consumer..
워크로드 API [1. 개요] 쿠버네티스에서 컨테이너 실행에 관련된 리소스 제공 사용자가 직접 사용하는 리소스 Pod => 가장 작은 실행 단위 ReplicaSet => Deployment => DaemonSet => ReplicaSet 의 변종 => 각 노드에 Pod 를 하나씩 배치 => 레플리카 수 지정이 불가능하다. => Pod 를 배치하고 싶지 않은 노드가 있는 경우 스케줄링에서 제외 가능 => nodeSelector, Anti-Affinity StatefulSet => ReplicaSet 의 변종 => Pod 명이 바뀌지 않는다. => 데이터를 영구적으로 저장하기 위한 구조로 되어 있다. => 영구 볼륨, 영구 볼륨 클레임 => 같은 데이터를 보유한 상태로 다른 노드에서 컨테이너가 다시 생성될 수 있다. Job..
스택. [2493] [1. 문제 설명] https://www.acmicpc.net/problem/2493 [2. 풀이 접근] [3. 코드]