| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- dp
- helm
- EC2
- argocd
- 생성형AI
- 자료구조
- Kubernetes
- Helm Chart
- 알고리즘
- 백준
- 조합
- sshtunneling
- AWS
- BFS
- ChatGPT
- spring
- spring cloud config
- k8s
- 자바
- 프로그래머스
- Dijkstra
- Docker
- implementation
- 다익스트라
- RDS
- 구현
- Tunneling
- 투포인터
- 코딩테스트
- Baekjoon
- Today
- Total
목록implementation (8)
처누
https://www.acmicpc.net/problem/21611문제 : 플레 5오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, (r, c)는 격자의 r행 c열을 의미한다. 격자의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이며 마법사 상어는 ((N+1)/2, (N+1)/2)에 있다.일부 칸과 칸 사이에는 벽이 세워져 있으며, 다음은 N = 3, 5, 7인 경우의 예시이다. 실선은 벽이고, 점선은 벽이 아니다. 칸에 적혀있는 수는 칸의 번호이다. 가장 처음에 상어가 있는 칸을 제외한 나머지 칸에는 구슬이 하나 들어갈 수 있다. 구슬은 1번 구슬, 2번 구슬, 3번 구슬이 있다. 같은 번호를 가진 구슬이 번호가 연속하는 칸..
https://www.acmicpc.net/problem/24447문제 : 실버 2오늘도 서준이는 너비 우선 탐색(BFS) 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자.N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 너비 우선 탐색으로 만들어 지는 트리를 너비 우선 탐색 트리라고 하자. 너비 우선 탐색 트리에 있는 i번 노드의 깊이(depth)를 di라고 하자. 시작 정점 R의 깊이는 0이고 방문 되지 않는 노드의 깊이는 -1이다. 정점 R에서 시작하여 너비 우선 탐색으로 노드를 방문할 경우 i번 노드의 방문 순서를 ti라고 ..
https://www.acmicpc.net/problem/2251문제 : 골드 4각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부을 수 있는데, 이때에는 한 물통이 비거나, 다른 한 물통이 가득 찰 때까지 물을 부을 수 있다. 이 과정에서 손실되는 물은 없다고 가정한다.이와 같은 과정을 거치다보면 세 번째 물통(용량이 C인)에 담겨있는 물의 양이 변할 수도 있다. 첫 번째 물통(용량이 A인)이 비어 있을 때, 세 번째 물통(용량이 C인)에 담겨있을 수 있는 물의 양을 모두 구해내는 프로그램을 작성하시오. 풀이과정해당 문제는 물을 옮기는 ..
https://www.acmicpc.net/problem/10836문제 : 골드 3 크기가 M×M인 격자 형태의 벌집이 있다. 이 벌집의 각 칸에는 여왕벌이 될 애벌레들이 한 마리씩 자라고 있다. 격자칸의 좌표계를 다음과 같이 설정한다. 제일 왼쪽 위 칸의 좌표는 (0,0)이다. 그 아래쪽 칸들의 좌표는 순서대로 (1,0), (2,0), ...등이다. 좌표가 (i,0)인 칸의 오른쪽 칸들의 좌표는 순서대로 (i, 1), (i,2), ... 등이다. 애벌레들은 매일 에너지를 모아서 정오(낮 12시) 에 한번 자라는데, 여기에 걸리는 시간은 매우 짧아서 무시할 수 있다. 첫날 아침 모든 애벌레들의 크기는 1이고, 이러한 과정을 N일 동안 반복한다. 각 애벌레가 자라서 크기가 커지는 정도는 하루에 +0, +1..
https://www.acmicpc.net/problem/20546문제 : 실버 5 풀이 과정해당 문제는 준현이와 성민이 두 명의 주식 수익 경우를 구해줘야한다. 준현이의 경우는 현재 주가를 살 수 있는 돈이 있다면 무조건 사는 방식이다.( (현재 가지고 있는 돈) / (현재 주가) ) > 0 이라면 stcokCount에 몫만큼 더해주면 된다. 성민이의 경우는 준현이보다 조금 더 까다롭다.오늘 주가가 전날의 주가보다 크거나 작은 경우에 따라서 전액 매수할지 매도할지 달라지기 때문에 연속해서 며칠동안 오르고 내렸는지 count를 체크해줘야한다. 며칠동안 올랐는지는 int upCount, 내렸는지는 int downCount로 계산했고,upCount == 3일 때, 그 날의 주가로 현재 가지고 있는 주식을 ..
https://www.acmicpc.net/problem/3254문제 : 실버 3 풀이 과정해당 문제는 게임판에 던진 김밥 4개가 먼저 연속적이게 만드는 사람을 출력하는 문제다. 처음에 문제를 잘못 해석하여 상근이와 정인이가 각자의 게임판에 김밥을 던지는 줄 알고 구현했더니 예제 입력3에서 오답이 나와 문제를 다시 해석했다. 하나의 게임판에 두 명이 김밥을 던지는 게임이고, 김밥을 게임판에 던지면 그 즉시 게임판의 맨 아래로 떨어진다고 생각하고 문제를 풀면 쉽게 풀 수 있다.김밥 4개가 연속으로 이어져 있는지 확인할 때는 int[] dx, int[] dy를 두고 이어져 있는지 확인하는 로직을 사용했다. 풀이 코드public class Ex3254 { private static int[] dx = {-..
https://www.acmicpc.net/problem/20207문제 : 골드 5 풀이과정해당 문제는 회의실 배정 문제와 비슷한 문제처럼 보인다. 처음 문제를 보고 든 생각은 우선순위 큐를 활용하는 것이었다. 하지만 우선순위 큐로 구현했을 때, 날짜가 겹치는 경우 해당 날짜를 다시 저장하여 사용해야하는데 마땅히 최적화 할 수 있는 방법이 생각나지 않았다. 예시로 나와있는 달력과 코팅지의 면적은 보면 높이는 겹친 날짜의 최대 갯수, 길이는 일정이 없는 날을 기준으로 가로 길이를 카운트해주면 되는 것을 볼 수 있다.여기서 생각난 방법은 int[] 배열을 두고 각 일정이 있는 날짜마다 1을 더해주는 것이다. 이 방법으로 구현한다면 입력 값을 정렬할 필요도 없이 카운트만 해주면 되기 때문에 최적화된 방법이라고..
https://www.acmicpc.net/problem/17471문제 : 골드 3 제한 2 ≤ N ≤ 101 ≤ 구역의 인구 수 ≤ 100 풀이과정해당 문제는 그래프와 BFS를 활용하여 푸는 문제다. 구역이 연결이 되어있는지 확인하는 조건만 신경쓴다면 어려움 없이 풀 수 있는 문제다. 그래프 문제는 항상 단방향인지 양방향인지 체크를 해주고 그래프 배열에 저장해줘야 한다. 두 개의 선거구를 나누는 과정에서는 조합을 이용하였다. n의 범위가 10까지이기 떄문에 시간복잡도도 충분하다.1번 선거구 : [1]2번 서거구 : [2, 3, 4, 5, 6]1번 선거구 : [2, 3, 4, 5, 6]2번 서거구 : [1] 위의 예시를 보듯 두 개의 선거구로 나뉘었지만 결국은 똑같은 선거구로 취급해도 된다. 따라서 조합..