본문 바로가기

알고리즘/그리디2

그리디 - 1931 회의실 배정 with Python https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 해결 그리디 문제 중 대표적인 문제라 생각 된다. 간단하게 생각해보자 앞의 회의실이 끝나지 않으면 뒤의 회의실은 시작하지 못한다. 즉 앞에서 끝나는 시간이 빠르면 빠를 수록 그 다음에 시작할 수 있는 애들도 많아진다로 생각해도 된다는 것이다. 자 그러면 우린 끝나는 시간을 기준으로 정렬을 한다. 이렇게 정렬 된 후 이 끝나는 시간보다 더 큰 start를 가진 제일 먼저 나오는 녀석으로 또 골라 반복하면 되는 것이다. 코드 import sys input = sys.stdin.readline n = int(in.. 2023. 2. 27.
그리디 - 10610 with Python https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 문제 해결 그리디로 간단히 풀리는 문제이다 30의 배수라는 것을 생각해보자 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510..... 반대로 보면 이는 뒤에는 0이 꼭 들어가고 3의 배수라는 것이다. 3의 배수는 무엇인가 각 자리수의 합이 3의 배수이면 그 숫자는 3의 배수인 것이다. 즉 0이 꼭 하나 이상있어야하고 각 자리수의 합이.. 2023. 2. 27.
728x90