그리디

PS/알고리즘 문제풀이

[백준] 1931번 회의실 배정(java)

https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 이 문제는 그리디 카테고리에 있는 문제이다. 핵심 이 문제의 핵심은 어떻게 배정을 해야 많은 사람이 이용할 수 있을까?이다. 끝나는 시간이 빠른 순서대로 정렬을 하고 그에 맞게 회의실에 넣어주면 된다. 코드를 보면 쉽게 이해할 수 있다. 정답 코드 import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner; public class Main { public static void main(..

PS/알고리즘 문제풀이

[백준] 2138번 전구와 스위치(java)

https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 핵심 완전탐색을 하면 시간초과가 뜨게 된다. 따라서 다른 방법을 사용해야 한다. 그리디를 사용해서 풀면 쉽게 풀린다. 자기 자신의 스위치를 누르면 양옆과 본인의 스위치가 변한다. 0~n까지 이동할 때, i-1을 바꿀 수 있는 전구는 i 뿐이다. 즉 첫 번째 전구가 꺼진 경우와 켜진 경우 2가지를 나누어서 풀 수 있다. 정답 코드 import java.util.Scann..

javajoha
'그리디' 태그의 글 목록