본문 바로가기

공부 기록/알고리즘

Do it! 알고리즘 코딩테스트 with JAVA - (16) 그리디 알고리즘

그리디

- 현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘

 

핵심 이론

  1. 해 선택 : 현재 상태에서 가장 최선이라고 생각되는 해를 선택한다.
  2. 적절성 검사 : 현재 선택한 해가 전체 문제의 제약 조건에 벗어나지 않는지 검사한다.
  3. 해 검사 : 현재까지 선택한 해 집합이 전체 문제를 해결할 수 있는지 검사한다. 전체 문제를 해결하지 못한다면 1로 돌아가 같은 과정을 반복한다.

문제 풀이

https://yurison.tistory.com/572

 

[백준/자바] 11047 - 동전 0

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS

yurison.tistory.com


https://yurison.tistory.com/573

 

[백준/자바] 1715 - 카드 정렬하기

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStr

yurison.tistory.com


https://yurison.tistory.com/574

 

[백준/자바] 1744 - 수 묶기

import java.util.Collections; import java.util.PriorityQueue; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); PriorityQueue plusPq = new PriorityQueue(Collect

yurison.tistory.com


https://yurison.tistory.com/575

 

[백준/자바] 1931 - 회의실 배정

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; public class Main { public static void main(Stri

yurison.tistory.com


https://yurison.tistory.com/576

 

[백준/자바] 1541 - 잃어버린 괄호

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String[] arr = str.split("-"); int result = 0; for (int i = 0; i < arr.length; i++) { if (i == 0) { result +

yurison.tistory.com