greedy
-
Programmers) Lv3 섬 연결하기Algorithm/Programmers 2020. 3. 6. 19:39
출처: https://programmers.co.kr/learn/courses/30/lessons/42861 분류: Lv3 , Greedy MST의 대표적인 문제입니다!!! Prim 알고리즘으로 해결해봤는데요. 자세한 설명은 이론 설명 그 자체일 듯 합니당 다음글을 참고해주세용 :) /** * 현재 노드에 연결되어 있는 노드만 확인할 것이기 때문에 * 간단하게 목적지와 비용만 저장하는 Edge 를 정의합니다. */ struct Edge { var destination: Int var cost: Int } func updateDist(_ tree: [Edge], dist: inout [Int?]) -> [Edge] { for edge in tree { if let d = dist[edge.destinati..
-
Programmers) Lv2 조이스틱Algorithm/Programmers 2020. 1. 29. 16:50
출처: https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 | 프로그래머스 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 JAZ를 만들 수 있습니다. - 첫 번째 위 programmers.co.kr 분류: Lv2, Greedy 너무너무 어려웠던 문제... 하 어렵네..
-
Algorithm) BOJ) 백준 1931 - 회의실배정Algorithm/BOJ 2019. 6. 18. 19:00
문제보러가기 1. 초기접근 문제 조건 해석 어떻게 회의실을 최적으로 배정할 수 있을까? 배정하는 방법은 여러가지가 있다. 1. 시작 시간이 가장 빠른 회의부터 배정 가장 빨리 시작해서 가장 늦게 끝난다면..? 삐빅 2. 회의 시간이 가장 적은 회의부터 배정 그 사이에 앞뒤로 겹치는 회의가 많다면 효율적이지 못할 수 있다. 3. 끝나는 시간이 가장 빠른 회의부터 배정 이렇게 하면 배정했을 때 뒤에 남은 시간을 가장 최적으로 사용할 수 있게 된다. 알고리즘 끝나는 시간을 기준으로 정렬하고 배정한 뒤 끝나는 시간을 현재 시간으로 생각하고 다음 회의가 배정 가능한지 확인한다. 2. 회고 회의 시간이 가장 짧은 회의부터 배정하는게 최선인가 싶어 삽질을 많이 했었다. 이런 문제는 어떠한 상황이 가장 최적의 상황인지..