[백준] 1717 - 집합의 표현 (Java)
·
Algorithm
문제 파악https://www.acmicpc.net/problem/1717풀이집합을 합치는 행위를 수행하거나, 두 원소가 같은 집합인지 리턴해주기만 하면 된다루트 개념을 가져가면 쉽게 풀이할 수 있다.말로 풀어 설명하자면 부분집합의 대표(루트)를 설정하고, union 시 하나의 대표로 병합해 준다.이전에 풀이한 최소 스패닝 트리 문제와 유사하게 풀이했다. (https://diggingcode.tistory.com/70)이런 경우 대체로 1차원 배열을 선언해서 풀이하는 편이다.초기에는 각 원소들이 부분집합의 대표이므로 배열에 스스로의 인덱스를 할당해준다.이를 탐색 및 union 시 업데이트 해 주도록 하자.재귀적으로 루트를 찾는 함수를 호출하도록 구현하였다.코드import java.io.*;public c..
[백준] 1074 - Z(Java)
·
Algorithm
문제 파악https://www.acmicpc.net/problem/1074풀이재귀적으로 순서대로 방문한다..?재귀보고 눈이 돌아가서 재귀/큐로 풀었다가 OOM을 만났다 🙂‍↕️더보기OOM 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReade..
[Kubernetes] 설치 및 실행해보기
·
CI & CD
이전 포스팅[Kubernetes] 개념 및 구성요소 이번 포스팅에서는 로컬 환경에서 쿠버네티스를 설치하고 실행해 보도록 한다.설치참고) MacOS의 brew를 이용하여 설치를 진행Docker, Kubectl, Minikube를 설치할 예정이며, 각각의 역할을 간단히 짚고 넘어가자면 다음과 같다Docker : 가상 컨테이너 빌드Kubectl : kubernetes 조작을 위한 CLIMinikube : kubernetes 클러스터 생성Docker Desktop 혹은 Docker Cli 설치Docker Desktophttps://www.docker.com/products/docker-desktop/ 로 이동하여 다운로드 및 설치Docker CLIbrew install dockerKubectl 설치brew in..
[Kubernetes] 개념 및 구성요소
·
CI & CD
들어가며모듈을 여러 개 띄우기 시작하며, 배포 시 컨테이너가 여러 개 생기는 일이 발생한다.컨테이너 수가 많아질수록 배포를 체계적으로 알아보고 싶다는 생각이 들었다.이번 기회에 쿠버네티스를 조금이나마 적용해 보며 불편함이 해소되는지 직접 부딪혀보고자 한다.쿠버네티스(K8s)란?컨테이너를 자동으로 배포하고 관리해 주는 오케스트레이션 플랫폼여러 개의 컨테이너를 설정에 맞게 배포컨테이너 / 네트워크 장애 시 복구네트워크 설정구성요소Pod컨테이너를 1개 이상 담는 최소 단위ServicePod에 접근하는 네트워크 경로Ingress외부 HTTP 요청을 라우팅DeploymentPod를 몇 개 띄울지, 언제 다시 띄울지 설정Node실제 컨테이너가 뜨는 가상 / 물리 서버마스터 노드클러스터를 관리/통제하는 컴포넌트들이 ..
오브젝트 (1)
·
Book/DEV
이 포스팅은 오브젝트(조영호)를 읽으면서 정리한 글입니다객체지향 설계서로 협력하고 의존하는 객체들의 공동체를 구성하는 과정.불필요한 의존성을 제거하고, 최소한의 의존성만 유지하여 유연하고 확장 가능한 시스템을 만들자.객체지향 프로그래밍데이터와 프로세스(행위)가 하나의 객체(모듈) 안에 함께 존재하도록 구성하는 프로그래밍 방식.→ 즉, 데이터와 해당 데이터를 다루는 로직이 같은 객체 안에 캡슐화된다.객체지향 설계 요소협력시스템 기능을 구현하기 위해 객체들이 메시지를 주고받으며 상호작용하는 과정역할객체가 협력 안에서 수행해야 할 책임의 집합.→ 동일한 역할을 여러 객체가 구현할 수 있음 (인터페이스 기반 설계)책임객체가 수행해야 할 행동(로직) 또는 데이터 관리의 의무→ 객체는 자신의 역할에 맞는 책임을 수..
[백준] 1101 - 카드 정리 1(Java)
·
Algorithm
문제 파악https://www.acmicpc.net/problem/1101어려운 점보통 카드를 옮기는 문제는 한 개씩 옮긴다고 생각하기 마련인데, 이 문제는 1개 이상의 카드를 한 번에 옮긴다는 점이 독특했다.규칙을 단순화하는 게 까다로웠던 것 같다! 풀이카드를 한 번에 많이 옮길 수 있다는 점과, 조커 박스가 있다는 점을 주목해야 한다.정리가 필요한 박스에서 최대한 많이 꺼내서 다른 정리가 필요한 박스로 옮겨주고,최종으로는 조커 박스에 몰아넣으면 최소 이동이 된다.여기서 정리가 필요한 박스란 다음과 같다.두 가지 이상의 색깔이 섞여 있는 경우한 가지 색상으로만 이루어져 있으나, 동일 색상으로 이루어진 또 다른 박스가 있을 경우만약 1 카드만을 가진 박스가 5개라면, 그 중 4개만 손봐야 한다 구현은 두..