[BOJ/Floyd-Warshall + DFS] 백준 17182 - 우주 탐사선 (Java)
·
✏️/BOJ
백준 17182 - 우주 탐사선https://www.acmicpc.net/problem/17182문제행성의 위치 0부터 시작해 0은 행렬에서 0번째 인덱스에 해당하는 행성2차원 행렬에서 i, j번 요소는 i번째 행성에서 j번째 행성에 도달하는데 걸리는 시간i와 j가 같을 때는 항상 0이 주어짐탐사 후 다시 시작 행성으로 돌아올 필요 X 이미 방문한 행성도 중복해서 갈 수 있음입력첫째 줄: 행성의 개수 N, ana호가 발사되는 행성 위치 K (2 다음 N줄: 각 행성 간 이동 시간 $T_{ij}$ (0 출력: 모든 행성을 탐사하기 위한 최소 시간풀이Floyd–Warshall어떤 행성에서 다른 행성으로 가는 데 걸리는 최소 시간 미리 계산-> 중간 경유지(`k`) 지날 때 더 빠르면 그 값으로 갱신 for ..
[BOJ/MST] 백준 2887 - 행성 터널 (Java)
·
✏️/BOJ
백준 2887 - 행성 터널https://www.acmicpc.net/problem/2887문제행성은 3차원 좌표 위의 한 점행성 A(xA, yA, zA)와 B(xB, yB, zB)를 터널로 연결할 때 드는 비용 min(|xA - xB|, |yA - yB|, |zA - zB|)터널을 총 N - 1개 건설해서 모든 행성이 서로 연결되게 하려고 함입력첫째 줄: 행성의 개수 N (1 다음 N개 줄: 각 행성의 x, y, z 좌표 ($-10^9$ 출력: 모든 행성을 터널로 연결하는데 필요한 최소 비용풀이Planet 클래스행성 번호 + x, y, z 좌표 저장static class Planet { int idx, x, y, z; Planet(int idx, int x, int y, int z) { ..
[PlantiFy] 결제 서비스(Pay & Transaction & Payment Service) - MSA 환경에서 결제 시스템 구축하기 2 / Redis 분산 락과 멱등성 설계로 동시성 리팩토링
·
💻/프로젝트
결제 시스템에서 가장 어려운 부분은 결제 확정(Confirm Payment) 단계Pay 잔액 차감 / 포인트 사용 or 적립 / 트랜잭션 상태 확정 / 정산 데이터 기록 등 여러 상태가 동시에 변경됨IF. MSA 환경에서 네트워크 장애, 중복 요청, 다중 인스턴스 환경, 서비스 간 호출 실패-> 상태만 성공이고 금액은 차감되지 않은 불일치 문제가 발생할 수 있음=> 원장(Ledger) 정합성 문제 -> 결제 확정 = Ledger 변경이 성공했을 때만 상태를 성공으로 전이 *결제 시스템 개요 확인 [PlantiFy] 결제 서비스(Pay & Transaction & Payment Service) - MSA 환경에서 결제 시스템 구축하기 1 / Redis 분결제 서비스 개요자체 결제 수단을 운영하고, 이를 ..
[BOJ/Dijkstra] 백준 4485 - 녹색 옷을 입은 애가 젤다지? (Java)
·
✏️/BOJ
4485 - 녹색 옷을 입은 애가 젤다지?https://www.acmicpc.net/problem/4485문제도둑루피(검정색 루피): 소지한 루피 감소도둑루피만 가득한 N*N 크기의 동굴의 제일 왼쪽 위 [0][0]에 잇음 동굴의 반대편 출구인 제일 오른쪽 아래 칸 [N-1][N-1]까지 이동해야 함/ 상하좌우 1칸 식 이동 가능각 칸마다 도둑루피가 있는데, 이 칸을 지나면 해당 도둑루피 크기만큼 소지금 잃음=> 잃을 수밖에 없는 최소 금액?입력: 여러 개의 테스트 케이스로 이뤄짐각 테스트 케이스 첫째 줄: 동굴의 크기 나타내는 정수 N (2 전체 입력 종료N개 줄: 동굴의 각 칸에 있는 도둑루피의 크기 (IF. 크기 k -> 이 칸 지나면 k루피 잃음) (0 출력: 각 테스트 케이스마다 한 줄에 걸쳐..
[BOJ/BFS] 백준 1261 - 알고스팟 (Java)
·
✏️/BOJ
1261 - 알고스팟https://www.acmicpc.net/problem/1261문제미로는 N*M 크기이며 총 1*1 크기의 방으로 이뤄져 있음/ 빈 방(0) or 벽(1)으로 이뤄져 있고 빈 방은 자유롭게 다닐 수 있지만, 벽은 부수지 않으면 이동할 수 없음어떤 방에서 이동할 수 있는 방은 상하좌우로 인접한 빈 방ex. (x, y) -> (x+1, y), (x, y+1), (x-1, y), (x, y-1)입력첫째 줄: 가로 M, 세로 N (1 다음 N개 줄: 숫자 0, 1(1, 1)과 (N, M)은 항상 뚫려 있음출력: 현재 (1, 1)에서 (N, M)으로 이동하려면 벽을 최소 몇 개 부수어야 하는지풀이0-1 BFS가중치가 0/1만 있는 그래프에서 최단거리 구하는 BFS가중치 0 -> `Deque`..
[BOJ/Dijkstra] 백준 1916 - 최소비용 구하기 / 11779 - 최소비용 구하기 2 (Java)
·
✏️/BOJ
1916 - 최소비용 구하기https://www.acmicpc.net/problem/1916문제N개의 도시/ 한 도시에서 출발해서 다른 도시에 도착하는 M개의 버스A번째 도시에서 B번째 도시까지 가는데 드는 비용 최소화입력첫째 줄: 도시 개수 N (1 둘째 줄: 버스 개수 M (1 셋째 줄 ~ M+2줄: 출발지, 도착지, 비용 (0 M+3줄: 구하고자 하는 구간 출발지, 도착지출력: 출발 도시에서 도착 도시까지 가는데 드는 최소 비용코드import java.io.*;import java.util.*;// 최소비용 구하기public class boj_1916 { static class Node implements Comparable { int to, cost; Node(in..
kimmeoww
'분류 전체보기' 카테고리의 글 목록 (5 Page)