전체 글 116

[이진 탐색] 백준-20551 Sort 마스터 배지훈의 후계자 실버4 (Python)

백준-20551 : Sort 마스터 배지훈의 후계자 https://www.acmicpc.net/problem/20551 20551번: Sort 마스터 배지훈의 후계자 지훈이는 Sort 마스터다. 오랫동안 Sort 마스터 자리를 지켜온 지훈이는 이제 마스터 자리를 후계자에게 물려주려고 한다. 수많은 제자들 중에 후계자를 고르기 위해서 지훈이는 제자들에게 문제 www.acmicpc.net 풀의 입력 받은 숫자들을 오름차순으로 정렬한다. 2진 탐색을 활용하여 가장 먼저 찾은 index를 반환하고 없으면 -1 을 반환 코드 (Python) import sys import bisect def input(): return sys.stdin.readline().rstrip() n, m = map(int, input(..

Algorithm 2023.04.19

[React] Zustand 란? 사용법 State 상태 관리

Zustand 상태 관리 라이브러리 보일러 플레이트가 거의 없다. 다른 상태 관리 라이브러리 보다 사용이 쉽다. Debugging도 용의하다. ex) Redux Devtools Zustand 설치 npm install zustand yarn install zustand Zustand 생성 - 예시 로그인 에러 정보를 담는 zustand import create from 'zustand'; export type CodeEnumsMemberType = 'ANY' | 'CORPORATION' | 'FRANCHISE' | 'NONE' | 'PERSONAL'; export type SocialLoginType = 'APPLE' | 'FACEBOOK' | 'GOOGLE' | 'KAKAO' | 'NAVER' |..

React 2023.04.18

[우선순위큐,정렬] 백준-2109 순회강연 골드3 (Python)

백준-2109 : 순회강연 https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 풀이 입력 받은 정보를 날짜 순으로 정렬을 한다. 정렬한 데이터를 꺼내면서 우선순위 큐에 넣으며 우선순위 큐의 크기가 날짜보다 클경우 가장 작은 비용의 값을 꺼낸다. 코드 (python) import sys import heapq def input(): return sys.stdin.readline().rstrip() n = int(i..

Algorithm 2023.04.15

[DFS] 백준-15173 점프왕 쩰리 (Small) 실버4 (Python)

백준-15173 : 점프왕 쩰리 (Small) https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 풀이 0,0에서 시작해서 해당 이동할수 있는 값 만큼 이동을하여 우측과 , 아래쪽을 확인하면서 DFS를 실행항 주의사항 좌표의 값이 0인 값도 있기 때문에 해당 부분은 제외해줌 코드 (python) import sys read = sys.stdin.readline n = int(read()) graph = [list(map(int, read().split..

Algorithm 2023.04.14

[MSA] Spring Boot - Spirng Cloude Bus (RabbitMQ)

Spring Cloude Bus 분산 시스템에서 구성 변경 사항을 전파하는 라이브러리 구성 변경 사항이 발생하면, 해당 변경 사항을 구독한 모든 인스턴스에 대해 자동으로 전파되어 구성 변경을 쉽게 처리할 수 있다. AMQP (Advanced Message Queuing Protocol) 메세지 지향 미들웨어를 위한 개방형 표준 으용 계층 프로토콜 Kafka 분산형 스트리밍 플랫폼 대용량의 데이터를 처리 가능한 메시징 시스템 초당 100k+ 이상의 이벤트 처리 pub/sub, Topic에 메시지 전달 Ack를 기다리지 않고 전달 가능 생산자 중심 RabbitMQ 초당 20+ 메시지를 소비자에게 전달 메시지 전달 보장, 시스템 간 메시지 전달 브로커, 소비자 중심 RabbitMQ 설치 (MAC) brew u..

MSA 2023.04.13

[그리디,이진 탐색] 백준-8983 사냥꾼 골드4 (Java)

백준-8983 : 사냥꾼 https://www.acmicpc.net/problem/8983 8983번: 사냥꾼 KOI 사냥터에는 N 마리의 동물들이 각각 특정한 위치에 살고 있다. 사냥터에 온 사냥꾼은 일직선 상에 위치한 M 개의 사대(총을 쏘는 장소)에서만 사격이 가능하다. 편의상, 일직선을 x-축이라 가 www.acmicpc.net 아이디어 모든 동물들을 X축이 가장 가까운 사대를 확인하며 사냥 가능한 동물한 수를 파악한다. 풀의 사대를 입력 받고 2분 탐색을 위해 정렬을 진행한다. 가장 가까운 사대를 찾고 사냥 가능한 거리 안에 있으면 사냥 가능 동물을 증가 시킨다. 코드 (java) package Greedy.Baejoon8983; import java.io.BufferedReader; impor..

Algorithm 2023.04.13

[MSA] Spring Boot - Actuator(엑츄에이터) 란? 사용

Actuator 란? 애플리케이션의 내부를 볼 수 있게 하고, 애플리케이션의 작동 방법을 제어할 수 있게 한다. 의존성 주입 (build.gradle) dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' ... } 설정 파일 (application.yml) management: endpoints: web: exposure: include: refresh, health, beans, httptrace Actuator의 refresh 를 호출하면 서버 재시동 없이 설정파일을 다시 가져온다.

MSA 2023.04.12

[MSA] Spring Boot - Spring Cloude Config 란? Config Server 생성

Spring Clude Config 마이크로서비스 아키텍처에서 구성 요소의 구성 관리를 위한 도구 중앙 집중식 구성 서버에서 구성 정보를 저장하고, 클라이언트는 이 서버에서 구성 정보를 가져와서 자신의 설정에 적용한다. application.yml 우선순위 application.yml -> applicatoin-name.yml -> application-name- ConfigServer 의존성 주입 (build.gradle) ext { set('springCloudVersion', "2021.0.6") } dependencies { implementation 'org.springframework.cloud:spring-cloud-config-server' ... } 어플리케이션 부분에 컨피그 서버 등..

MSA 2023.04.11