본문 바로가기

분류 전체보기106

FractionalKnapsack [JAVA][자바] FractionalKnapsack Mission: 부분 배낭 알고리즘 구현하기 목차 Item FractionalKnapsack Main import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; 코드를 작성하는 동안 쓰인 클래스 배열, 정렬, 입력하는데에 사용하였다. 1. Item 배낭에 넣을 수 있는 아이템의 정보와, 아이템을 단위 무게 당 가치를 기준으로 내림차순 정렬하는 구문 class Item implements Comparable{ String name; int weight; int price; public Item(String name,int weight,int price){ this.name=name;.. 2023. 5. 12.
Dijsktra 다익스트라 알고리즘 [JAVA][자바] Dijsktra : Dijkstra algorithm을 구현하라. Dijkstra algorithm이란?? 하나의 정점으로부터 다른 모든 노드에 접근할 때의 최소 경로를 구하는 알고리즘이라 할 수 있다. 문제해결방법 priorityQueue를 사용하여 시작노드, 도착노드, 가중치값을 배열로 받고 그 중 가장 작은 값을 찾아내는 방법 floydWarshall algorithm을 이용하여 문제 해결 네트워크의 인접행렬을 만들어두고 for문과 if문을 통해서 최소 경로 구하기. 구현할 함수 : main(), get_nearestIndex(), dijkstra() get_nearestIndex() : 가장 최소 거리를 가지는 정점을 반환하는 함수 dijkstra() : dijkstra를 실행하여 지정한 star.. 2023. 5. 12.
Closest_pair_of_points [JAVA][자바] Computer_Algorithm project_01 Closest_pair_of_points 2차원 평면상에 n개의 점이 입력으로 주어질 때, 거리가 가장 가까운 한 쌍의 점을 찾는 문제 Algorithm S에 있는 점의 수가 3개 이하면 더이상 분할 x -2개일 경우 그대로 리턴 -3개일 경우 최근접 점의 쌍을 리턴 x좌표가 오름차순으로 정렬 된 배열 S를 같은 개수의 점을 갖는 왼쪽(Sl) 오른쪽(Sr)으로 분할한다. -점의 개수가 홀수 개일 경우 왼쪽(Sl)에 1개 더 많게 분할 Sl과 Sr에 대해 재귀적으로 분할해 최근접 점의 쌍을 CPl과 CPr이라 놓는다. -CPl과 CPr의 더 짧은 거리를 d로 정의 d를 이용해 분할전 S에 중간 영역(Sc)에 속하는 점들을 찾고, 이 중에서 최근접 점의 .. 2023. 5. 12.
LEVEL 2. 괄호 회전하기 [JAVA][자바] 괄호 회전하기 JAVA 풀이(stack과 Hashmap을 이용한) https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가.. 2023. 4. 27.