75. 최대 수입 스케쥴 sort
323
작성한 질문수 6
sort(T.begin(), T.end());
하는 이유가 궁금합니다.
정렬 안해도
if(T[j].when<i) break;에서 걸러질텐데
앞에서 소팅하는 이유가 있는건가요?
답변 2
0
안녕하세요^^
날짜 순으로 정렬을 해주어야 가장 큰 날짜의 강의들 모두 처리하고 그 다음 큰 날짜의 강의들 모두 처리하고 사는 순으로 처리해야 해서입니다.
문제의 입력을 예로 들면
3일까지 가면 되는 강의들 모두 처리하고, 2일까지 가면 되는 강의들 모두 처리하고, 1일까지 가면 되는 강의들 모두 처리하고 식입니다. 이렇게 하려면 강의 날짜가 큰 것부터 내림차순으로 정렬을 해야 합니다.
0
안녕하세요, (게임학전공)장지현 님, 인프런 AI 인턴이에요.
sort(T.begin(), T.end())는 T 벡터의 요소를 정렬하는 함수입니다. T 벡터의 정렬은 최대 수입 스케줄 알고리즘에서 필요한 작업 중 하나입니다.
if(T[j].when) break;는 현재 시간 i보다 이후에 수행되어야 하는 작업이 나타났을 경우 반복문을 중단하는 역할을 합니다. 하지만 이것만으로는 작업들이 시간 순서에 따라 정렬되어 있지 않은 상태에서도 최적의 수입을 찾는데 어려움이 있을 수 있습니다.
따라서, 처음부터 작업을 정렬한 후에 최대 수입을 찾는 알고리즘을 사용하면, 더 효율적으로 최대 수입을 구할 수 있습니다.
요약하자면, 정렬을 함으로써 작업들을 시간 순서에 따라 정렬하여 최대 수입을 찾는 데 더욱 용이하게 해주는 것이 목적입니다.
다른 질문이 있으시면 언제든지 물어보세요!
87번 채점 프로그램에 오류가 있는 것 같습니다.
0
89
2
그리디 파트
0
115
2
안녕하세요. 선생님(54번 코드 관련 문의)
0
141
2
테스트 파일 exit_coe_1, time_limit_exceeded 질문
0
143
1
C언어로 코드를 짜면 채점 시에 한 문제 빼고 시간 초과가 발생하는데 해결하는 방법이 있을까요?
0
172
1
19번 질문있습니다
0
123
1
6번 관련 채점오류입니다
0
88
2
22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?
0
166
2
dev C++ 콘솔창 바로 닫힘
0
245
1
최신화하기
0
171
1
채점이 안되요...
1
261
1
안녕하세요 강사님 정렬에 대해서 설명이 조금 더 듣고 싶습니다.
0
113
1
45번 공주구하기 문제를 list를 이용해서 이렇게 풀어도 될까요?
0
155
1
39번 두 배열 합치기 문제 채점 오류인가 코드 오류인가
0
155
0
채점기에서 틀렸다고 나오는데 이유를 모르겠습니다.
0
149
2
해당 강의에서 C언어로만 진행하는 강의 문의 건
0
145
2
87번 문제 섬나라 아일랜드 질문
0
128
1
16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.
0
149
1
40번 교집합 문제
0
166
1
43번 뮤직비디오 문제 테스트케이스 4번을 만족 못합니다.
0
170
1
41. 연속된 자연수의 합 문제 질문있습니다.
0
166
1
질문있습니다.
0
193
2
시간초과가 나요
0
172
1
43번 문제 3 ~ 5번에 문제가 있는것 같습니다.
0
249
1





