2024/04 5

Programmers - 대장균의 크기에 따라 분류하기 2(SQL 함수 2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 대장균 개체의 크기를 내름차순으로 정렬했을 때 상위 0% ~ 25% 를 'CRITICAL', 26% ~ 50% 를 'HIGH', 51% ~ 75% 를 'MEDIUM', 76% ~ 100% 를 'LOW' 라고 분류합니다. 결과는 개체의 ID 에 대해 오름차순 정렬해주세요 . 총 데이터의 수는 4의 배수이며 같은 사이즈의 대장균 개체가 서로 다른 이름으로 분류되는 경우는 없습니다. 'CASE를 사용하여 해결하면 되겠다' 라는 생각으로 문제를 읽어나갔지만, 백분위로 데이터를 나누는 방법은 몰랐기에, 내가 알고..

카테고리 없음 2024.04.20

Algorithm - 백준 벡터 매칭

1007번: 벡터 매칭 평면 상에 N개의 점이 찍혀있고, 그 점을 집합 P라고 하자. 집합 P의 벡터 매칭은 벡터의 집합인데, 모든 벡터는 집합 P의 한 점에서 시작해서, 또 다른 점에서 끝나는 벡터의 집합이다. 또, P에 속 www.acmicpc.net 문제를 간단히 설명하자면, 임의의 점이 N개 주어진다. 해당 N개의 점을 한 번씩 사용해서 만들 수 있는 벡터들의 합 중 최소값을 찾고, 길이를 구해야 한다. 우선 이 문제를 해결하기 위해 벡터의 성질을 알아야 했다. 점 (x0, y0)에서 점 (x1, y1)을 향하는 벡터: (x1 - x0, y1 - y0) 점 (x2, y2)에서 점 (x3, y3)을 향하는 벡터: (x3 - x2, y3 - y2) 벡터들의 합: (x1 + x3 - x0 - x2, y..

Algorithm 2024.04.16

Algorithm - 백준 도키도키 간식드리미(자료구조, 스택)

12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 오늘도 여러 문제를 풀었다. 위의 문제는 스택과 같은 자료구조를 이용해서 해결하는 문제였다. 나는 Queue와 Stack을 이용하여 문제를 해결하려고 마음먹었다. 최근에 자료구조 문제들을 많이 풀어서 쉬울줄 알았지만, 위의 문제가 생각보다 쉽게 해결되지 않았다. import java.util.*; public class Main { public static void main(String[] args) { ... while (!queue.isEmpty()) { /..

Algorithm 2024.04.04

Algorithm - 프로그래머스 여행경로(DFS)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오늘은 DFS 알고리즘 문제를 풀었다. DFS DFS는 깊이 우선 탐색(Depth-First Search)의 약어로, 그래프 및 트리의 한 정점에서 모든 정점을 방문하는 알고리즘 중 하나이다. 특징 1. 한 정점에서 시작하여 가장 깊은 곳 (최하위의 자식 노드) 까지 탐색하고, 되돌아와서 다음 가능한 경로를 탐색한다. 2. 스택(Stack) 자료구조를 사용한다. 3. 모든 정점을 방문하여야 할 때 사용된다. 4. 정점의 이웃 정점들을 재귀적으로 방문하여 구현한다. 5. 깊이를 가늠할 수 없을 경우, 스택오버플..

Algorithm 2024.04.02

Algorithm - 프로그래머스 섬 연결하기(Greedy, Minimum Spanning Tree, Union Find)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 해결하기 위해 생각했던 방법은 1. 주어진 배열을 다리를 짓는데에 필요한 재화(costs[i][2])로 오름차순 정렬 2. 섬이 직접적으로 연결되어 있는지 확인 3. 직접 연결되어 있지 않다면 간접적으로 연결되어 있는지 확인(dfs, bfs 등 사용) 4. 간접적으로 연결되어 있지 않다면 다리 건설 이렇게 해결하려 하였으나, 3번을 구현하는데에 어려움을 겪어 해결방안을 찾아보았다. Minimum Spanning Tree(최소 신장 트리), Kruskal(크루스칼) 알고리즘, Union Find 이 ..

Algorithm 2024.04.01