전체 글
-
[백준] 3040번 : 백설 공주와 일곱 난쟁이 - 자바(JAVA)알고리즘/백준 2022. 3. 22. 00:01
https://www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 문제 해석 일곱 난쟁이의 모자의 합은 100이다 그런데 갑자기 아홉 난쟁이가 등장하여 각자 자신이 진짜라고 우기는 상황이다. 이때 모자의 합을 통해 진짜 난쟁이가 누구인지 판별하라 모든 숫자는 서로 다르고, 답이 유일한 경우만 입력으로 주어진다. 문제 풀이 전 설계 N의 크기가 9이며 조합을 통한 완전 탐색으로 해결합니다. 9C7을 통해 7명의 난쟁이를 뽑고 모자의 합이 100이라면 출력..
-
[백준] 2089번 : 외판원순회 - 자바(JAVA)알고리즘/백준 2022. 3. 21. 00:18
https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 문제 해석 N개의 도시가 존재합니다. 도시를 연결하는 단방향 도로가 존재하며 도로를 가는 데는 비용이 존재합니다. 문제 풀이 전 설계 1번도시에서 출발한 경우, 2번 도시에서 출발한 경우를 모두 DFS를 통해 완전 탐색해보기 -> 시간 초과 문제 풀이하면서 1번 도시에서 출발한 경우, 2번 도시에서 출발한 경우를 세어줄 필요는 없습니다. 어떤 도시를 선택해도 ..
-
외판원 순회(TSP : Traveling Salesperson Problem) 알고리즘알고리즘/알고리즘 2022. 3. 21. 00:16
외판원 순회란? 도시들이 존재하며 도시로 이동할 때 드는 비용이 주어졌을 때 불특정 한 도시에서 출발하여 모든 도시를 돌고 다시 출발 도시로 돌아왔을 때 드는 최소 비용을 구하는 문제입니다. 외판원이 가장 적은 비용으로 모든 도시를 방문하면서 자기 집으로 돌아온다고 하여 외판원 순회라는 이름이 붙었습니다. 이 문제의 특징은 비트 연산, DFS, DP를 모두 활용해서 해결해야 합니다. 만약 해당 개념을 활용하지 않고 가장 일반적으로 떠오르는 '각 도시를 잇는 모든 경로를 탐색하고 그중 최솟값을 찾자'라는 완전 탐색으로 푸는 방법도 있지만 이는 O(N!)의 시간 복잡도로 인해 시간 초과가 발생할 수 있습니다. 만약 0번째 도시에서 출발하고 남은 도시들을 어떤 순서로 방문할지만 정하면 되기 때문에 남은 n-1..
-
[백준] 2964번 : 도영이가 만든 맛있는 음식 - 자바 (JAVA)알고리즘/백준 2022. 3. 21. 00:01
https://www.acmicpc.net/problem/2961 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net 문제 해석 N개의 재료가 있고 각 재료는 신맛 S과 쓴맛 B가 존재한다. 여러 재료를 이용해서 요리할 때, 그 음식의 신맛은 재료의 신맛의 곳이고 쓴맛은 합이다. 시거나 쓴 음식을 좋아하는 사람은 많지 않기 때문에 신맛과 쓴맛의 차이를 작게 만드려고 한다. 재료는 적어도 하나 사용해야 한다. 문제 풀이 전 설계 부분집합 (조합을 사용해서 해결) 곱셈을 하며 숫자의 범위가 커질..
-
[Java] Integer.parseInt() vs Integer.valueOf()Java 2022. 3. 20. 23:01
Java에서 String을 숫자로 변형할 때 Integer.parseInt()와 Integer.valueOf() 메서드를 활용합니다. 두 메서드는 어떤 차이가 있을까요? parseInt vs valueOf 차이점 1. Integer.valueOf()는 Integer객체를 반환하고 Integer.parseInt()는 기본형 int 타입을 반환합니다. parseInt() : 원시데이터인 int 타입을 반환 valueOf() : Integer 래퍼 객체를 반환 Java 1.5 에서 Autoboxing과 Unboxing이 도입된 이후로 차이는 거의 없을 것이라고 관련 자료에서는 말하고 있습니다. https://www.javainterviewpoint.com/java-autoboxing-and-unboxing-e..
-
Git이란?Git 2022. 3. 20. 00:01
Git이란? Git이란 버전 관리 시스템(VCS, Version Control System)의 한 종류입니다. 버전 관리시스템은 많은 것들이 존재하지만 그중에 가장 유명하고 가장 성공했습니다. 버전 관리 시스템에 대해 먼저 알아보겠습니다. 버전 관리 시스템이란? 버전 관리 시스템(VCS, Version Control System)은 나중에 특정 버전을 불러올 수 있도록 시간 경과에 따른 파일 또는 파일 세트의 변경 사항을 기록하는 시스템입니다. 그래픽 또는 웹 디자이너이고 이미지나 레이아웃의 모든 버전(가장 확실히 원할 것)을 유지하려는 경우 VCS(버전 제어 시스템)를 사용하는 것이 매우 현명합니다. 이를 통해 선택한 파일을 이전 상태로 되돌리고, 전체 프로젝트를 이전 상태로 되돌리고, 시간 경과에 따..
-
6808. 규영이와 인영이의 카드게임 - 자바(JAVA)알고리즘/SW Expert Academy 2022. 3. 19. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWgv9va6HnkDFAW0 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 1~18까지의 수가 적인 18장의 카드가 존재한다. 아홉 라운드에 걸쳐 게임이 진행하며 한 번의 게임에 둘은 카드를 잘 섞어 9장씩 나눈다. 한 라운드에는 한 장씩 카드를 낸다. 카드의 수를 비교해서 점수를 계산한다. 높은 수가 적힌 카드를 낸 사람은 두 카드에 적힌 수의 합만큼 점수를 얻는다. 낮은 수가 적힌 카드를 낸 사람은 아무런 점수도 얻을 수 없다. 두 사람의 총점이 같으면 무승..
-
Message System이란?MSA & 쿠버네티스(Kubernetes) - k8s 2022. 3. 18. 17:03
용어 정리 MOM ( Message Oriented Middleware, 메시지 지향 미들웨어) 독립된 애플리케이션 간에 데이터를 주고받을 수 있도록 하는 시스템 디자인 함수 호출, 공유 메모리 등의 방식이 아닌, 메시지 교환을 이용하는 중간 계층에 대한 인프라 아키텍처 개념 서비스 간의 결합이 낮아지고 비동기로 메시지를 전달함. Message Broker 메시지 처리 또는 메시지 수신자에게 메시지를 전달하는 시스템으로 MOM을 기반으로 구축됨 MQ(Message Queue, 메시지 큐) Message Broker와 MOM을 구현한 소프트웨어 ( RabbitMQ, ActiveMQ, kafka 등) MOM은 메시지 전송 보장을 해야 하므로 AMQP를 구현함 AMQP(Advanced Messgae Queue..