[백준] 구현 코멘트 모음
·
알고리즘 메모
⭕️ 14503번 : 로봇 청소기 (골드5)문제 유형 : implement, simulation시간 복잡도 : O(nm)풀이 방식 :- 0은 북쪽, 1은 동쪽, 2는 남쪽, 3은 서쪽이기 때문에 왼쪽으로 방향을 돌리고 한 칸을 이동하는 과정을 현재 방향을 나타내는 인덱스에서 1을 빼고 4를 더한 뒤 4로 나눈 나머지를 구하는 방식으로 구현- 만약 4방향을 모두 둘러 봤을 때 이동할 곳이 없으면 벽이 아닌한 후진하여 이동하는데 이 경우 청소 구역 수를 증가시키지 않음- 더 이상 이동이 불가하면 총 청소 구역 수를 출력 ⭕️ 16236번 : 아기 상어 (골드3)문제 유형 : graph, bfs, implement, simulation시간 복잡도 : O(n^2)풀이 방식 :- 상어가 먹을 수 있는 물고기들을 ..
[백준] 문자열, Union Find 코멘트 모음
·
알고리즘 메모
문자열❌ 9251번 : LCS (골드5)문제 유형 : dp, String시간 복잡도 : O(nm)풀이 방식 :- 두 문자열의 위치를 나타내는 2차원 int 배열 dp 선언(0으로 초기화, 인덱스는 i, j로 표현)- 각 문자열의 현재 문자가 같을 경우 dp[i][j] = dp[i-1][j-1]- 다를 경우 dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]) -> 현재까지 구한 LCS의 길이를 뜻함- dp의 마지막 값이 LCS의 길이를 뜻함 ⭕️ 9252번 : LCS2 (골드4)문제 유형 : dp, String시간 복잡도 : O(nm)풀이 방식 :- 9251번과 같은 방식으로 dp 배열을 구하고 마지막 값부터 시작하여 dp[i-1][j]와 dp[i][j-1] 중 dp[i][j]가..
[백준] 그래프 탐색 - DFS (골드 1~3) 코멘트 모음
·
알고리즘 메모
⭕️ 1949번 : 우수 마을 (골드2)문제 유형 : dp, tree시간 복잡도 : O(n)풀이 방식 :- ArrayList를 이용해서 트리를 저장- 방문한 정점 체크용 visit배열 이용- 현재 노드를 선택했을 때의 경우와 선택하지 않았을 경우의 주민수를 저장하는 2차원 dp[n][2]를 이용- 현재 노드를 선택한 경우 -> 자식노드는 무조건 선택하지 않음- 현재 노드를 선택하지 않은 경우 -> 자식노드를 선택했을 경우와 자식노드를 선택하지 않았을 두 경우 중 더 큰 값 선택- 리프노드부터 루트노드(1)로 올라오며 각 경우의 주민수를 구한 후 루트노드에서 더 큰 경우를 채택하여 출력 ⭕️ 1135번 : 뉴스 전하기 (골드2)문제 유형 : greedy, sort, dp, tree시간 복잡도 : O(nlo..
[모니터링] OpenTelemetry 살펴보기
·
클라우드 메모
🙋🏻Opentelemetry 란?OpenTelemetry는 메트릭, 추적, 로그를 포함한 모든 원격 측정 데이터를 수집하고 표준화하며,이를 다양한 백엔드로 내보낼 수 있는 포괄적인 관찰 프레임워크이다. 주요 특징은 크게 다음과 같다. - 원격 측정 데이터 Log, Metric, Trace 제공 - 높은 호환성 - Trace 데이터 제공 Opentelemetry Collector는 Opentelemetry의 핵심 요소로,각종 데이터 소스로부터 수집한 데이터를 처리하고 다양한 벤더로 내보내는 역할을 한다.  OTel Collector를 살펴보면 매트릭, 트레이스에 특화된 Prometheus, Jaeger을 통한 수집을 지원할 뿐 아니라,자체 프로토콜인 OTel Protocol을 이용해서 다양한 소스로부터..
[백준] DP (골드4 이하) 코멘트 모음
·
알고리즘 메모
그리디와 쌍두마차로 씽크빅 문제라고 생각한다. 그래도 개인적으로 그리디보다는 문제를 많이 풀면 쉬워진다는 느낌은 드는 편인다. ⭕️15681번 : 트리와 쿼리 (골드5)문제 유형 : dp, tree시간 복잡도 : O(n)풀이 방식 :- ArrayList를 이용해서 트리를 저장- 방문한 정점 체크용 visit배열 이용- 리프노드부터 루트 노드로 올라오며 각 서브트리별 정점의 갯수를 dp배열에 저장 ❌ 9251번 : LCS (골드5)*문제 유형 : dp, String시간 복잡도 : O(nm)풀이 방식 :- 두 문자열의 위치를 나타내는 2차원 int 배열 dp 선언(0으로 초기화, 인덱스는 i, j로 표현)- 각 문자열의 현재 문자가 같을 경우 dp[i][j] = dp[i-1][j-1]- 다를 경우 dp[i]..
[모니터링] 모니터링 파이프라인 설계 해보기
·
클라우드 메모
🙋🏻 애플리케이션 모니터링"애플리케이션 모니터링"은 소프트웨어 애플리케이션 내의 성능, 가용성 및 오류에 초점을 맞춥니다. 이러한 유형의 모니터링은 애플리케이션이 원활한 사용자 경험을 제공하는 데 필수적입니다.성능: 애플리케이션 성능 모니터링에는 응답 시간, 트랜잭션 속도 및 처리량 추적이 포함됩니다. 이는 사용자 경험에 영향을 줄 수 있는 병목 현상과 성능 문제를 식별하는 데 도움이 됩니다. New Relic 및 AppDynamics와 같은 도구는 애플리케이션 성능에 대한 자세한 통찰력을 제공합니다.가용성:애플리케이션을 사용자가 사용할 수 있고 액세스할 수 있도록 하는 것이 가장 중요한 관심사입니다. 애플리케이션 모니터링 도구는 가동 시간과 가동 중지 시간을 추적하여 팀에 중단을 경고하고 서비스를 ..
[백준] 그래프 이론 코멘트 모음
·
알고리즘 메모
그래프 탐색 이외의 그래프 이론을 활용해 풀어야하는 문제 모음이다. ⭕️ 2252번 : 줄 세우기 (골드3)문제 유형 : graph시간 복잡도 : O(V+E)풀이 방식 :- Queue, 각 노드의 선행 노드 개수를 의미하는 배열, 각 노드의 후위 노드를 저장하는 ArrayList를 이용- 선행 노드의 개수가 0인 노드를 Queue에 넣고, 하나씩 빼내어 출력, 후위 노드들의 각 선행 노드 개수를 줄인다- 만약 선행 노드의 개수가 0이 되면 Queue에 집어넣으며 이 과정을 Queue가 빌 때까지 반복 (만약 출력한 노드의 수와 총 노드의 수가 다르면 사이클 존재 -> 위상정렬 개념, 이 문제에는 해당 입력 case가 존재하지 않음) ⭕️ 1516번 : 게임 개발 (골드3)문제 유형 : dp, graph시..
[백준] 그래프 탐색 - DFS (골드 4~5) 코멘트 모음
·
알고리즘 메모
🙋🏻 DFS를 사용하는 이유DFS는 미로 탐색과 같이 목표 노드가 멀리 떨어져 있다는 가정이 존재할 때, BFS보다 유리하다. 1. 메모리 사용량이 BFS보다 적다.한 경로의 탐색이 완전히 끝날 때까지 다른 경로상의 노드가 비교적 추가되지 않기 때문에같은 거리상의 모든 노드를 큐에 저장해두는 BFS보다 메모리 사용량이 비교적 적다. 2. 경로 탐색에 유리하다.BFS의 경우 같은 거리에 위치한 모든 경로를 점진적으로 탐색하지만,DFS의 경우 각 경로를 끝까지 탐색하다가 목표를 찾을 경우 즉시 종료하기 때문에멀리 떨어진 목표까지의 경로 탐색에 유리하다. ⭕️ 1240번 : 노드사이의 거리 (골드5)문제 유형 : tree, graph, dfs, bfs시간 복잡도 : O(n)풀이 방식 :- 트리 형태를 띄고..