[Python/파이썬] 백준 13549 - 숨바꼭질3
문제 설명 입출력 예제 풀이 코드 동생의 위치 k에 도달할 때 까지 문제에 주어진 3가지 이동방법으로 탐색한다. 문제에 주어진 범위 0
- ◼ 코딩테스트/DFS,BFS
- · 2023. 5. 25.
문제 설명 입출력 예제 풀이 코드 동생의 위치 k에 도달할 때 까지 문제에 주어진 3가지 이동방법으로 탐색한다. 문제에 주어진 범위 0
문제 설명 입력과 출력 입출력 예제 풀이 코드 아래 표 처럼 각 노드에서 출발하여 해당 노드와 연결된 노드까지의 거리를 구한 뒤, 총합이 가장 높은 노드를 출력하는 문제이다. 케빈 베이컨의 수 0 1 2 3 4 5 1번 노드 0 0 2 1 1 2 2번 노드 0 2 0 1 2 3 3번 노드 0 1 1 0 1 2 4번 노드 0 1 2 1 0 1 5번 노드 0 2 3 2 1 0 정답 코드 from collections import deque import sys input = sys.stdin.readline n, m = map(int, input().split()) # 유저 수, 친구관계 수 relationship = [[] for _ in range(n + 1)] for i in range(m): a, b ..
비즈니스 메트릭 CPU 사용량, 메모리 사용량, 톰캣 쓰레드, DB 커넥션 풀과 같이 공통으로 사용되는 기술적인 메트릭들은 이미 스프링 엑츄에이터에 등록되어 있기 때문에, 우리는 이러한 메트릭들을 가져와 대시보드를 구성하고 모니터링 하면 된다. 하지만 주문수, 취소수, 재고 수량 같은 비즈니스 메트릭 같은 비즈니스 메트릭들을 각각의 비즈니스에 특화되어 있기 때문에 각각을 직접 등록하고 확인해야 한다 비즈니스 메트릭의 예시로 취소수가 갑자기 급증하거나 재고 수량이 최대치를 넘는 부분은 기술적인 메트릭으로 확인할 수 없다. 거기에 더해 어떠한 문제가 생겨 주문 취소가 급격하게 증가한다해도 CPU, 메모리 사용량 같은 메트릭에는 아무런 문제가 발생하지 않아 문제를 인지하기 힘들다. 이 경우에 비즈니스 메트릭을..
그라파나란? 프로메테우스가 DB라고 하면, 이 DB에 있는 데이터를 불러서 사용자가 보기 편하게 보여주는 대시보드가 필요하다. 그라파나는 매우 유연하고, 데이터를 그래프로 보여주는 툴이다. 수 많은 그래프를 제공하고, 프로메테우스를 포함한 다양한 데이터소스를 지원한다 대쉬보드 만들기 1. 그라파나의 주소로 접속한다. http://localhost:3000/dashboards 2. 왼쪽 상단의 삼선버튼을 클릭 후 Dashboards 카테고리를 클릭한다. 3. New를 클릭하고 New Dashboard를 클릭 4. 오른쪽 상단의 저장버튼을 눌려 대쉬보드의 이름을 적어 저장한다. 5. 생성한 대쉬보드에서 상단의 Add 버튼 클릭 후 Visualization을 클릭한다. 이 부분이 바로 매트릭(지표)를 그래프로..
문제 설명 입출력 예제 풀이 코드 먼저 bfs()에서 탐색을 시작할 아기 상어의 자표를 먼저 구해야한다. 그렇게 하지 않고 while문 안에서 아기 상어의 좌표를 찾을 경우 n^3으로 시간초과가 발생한다. 핵심은 다음과 같다. bfs()에서 먹을 수 있는 물고기들을 반환하는데, 가장 거리가 가까운 물고리를 우선적으로 먹으므로 이를 거리순, x좌표순, y좌표순으로 반환한다. 그리고 while문을 통해 더이상 먹을 물고기가 없을 때 까지 반복문을 실행한다. 정답 코드 from collections import deque import sys input = sys.stdin.readline n = int(input()) sea = [list(map(int, input().split())) for _ in ran..
프로메테우스와 스프링 연결하기 애플리케이션 설정 스프링의 마이크로미터가 프로메테우스가 사용하는 포멧에 맞추어 메트릭을 만들어 준다. 각각의 메트릭들은 내부에서 마이크로미터 표준 방식으로 측정되고 있기 때문에 우리는 어떤 구현체를 사용할지 지정만 해주면 된다. build.gradle에 다음 내용 추가 마이크로미터 프로메테우스 구현 라이브러리를 추가하여 어떤 구현체를 사용할지 지정해준다. 이러면 스프링 부트와 액츄에이터가 자동으로 마이크로미터 프로메테우스 구현체를 등록해서 동작하도록 설정해준다. implementation 'org.springframework.boot:spring-boot-starter-actuator' // 엑츄에이터 implementation 'io.micrometer:micrometer..