白駿1931会議室配分問題Python解答
会議室を手配する
解きほぐそう
何かの音
ヒントを見て理解した
自分が学習室を使っているボスを想像してみてください.
まず、私の目的はできるだけ多くの学習室を手配して、たくさんのお金を稼ぐことです.
もしお客さんが会議をしたい時間帯を書いたら.
私はできるだけコンパクトで空いていないように時間を手配して、それを見て、できるだけ多く予約します.
これはグリディとソートアルゴリズムです!
つまり今日は誰がジャストディの部屋を借りますか?数を数える
並んでいる人は順番に可能な時間帯を書きます.
管理者の私が見た後、できるだけ多くの人に利用させます.
どうすればいいの?
終了時間が早くなります.
開始時間が一番早かったのでやってくれましたが、毎回10時間会議をするのは損です.
だからまずは早く終わる人たち!
でも終了時間が同じなら開始時間が遅い人から
同じ会議は2時に終わり、1組は午前10時、1組は午後1時にもちろん後者になります.
解きほぐそう
何かの音
ヒントを見て理解した
自分が学習室を使っているボスを想像してみてください.
まず、私の目的はできるだけ多くの学習室を手配して、たくさんのお金を稼ぐことです.
もしお客さんが会議をしたい時間帯を書いたら.
私はできるだけコンパクトで空いていないように時間を手配して、それを見て、できるだけ多く予約します.
これはグリディとソートアルゴリズムです!
つまり今日は誰がジャストディの部屋を借りますか?数を数える
並んでいる人は順番に可能な時間帯を書きます.
管理者の私が見た後、できるだけ多くの人に利用させます.
どうすればいいの?
終了時間が早くなります.
開始時間が一番早かったのでやってくれましたが、毎回10時間会議をするのは損です.
だからまずは早く終わる人たち!
でも終了時間が同じなら開始時間が遅い人から
同じ会議は2時に終わり、1組は午前10時、1組は午後1時にもちろん後者になります.
N = int(input()) # 몇 명?
list = [] # 저장할 리스트
for i in range(N): # 출발 종료시간을 한명한명 받아줌
start, end = map(int, input().split())
list.append([start, end])
list.sort(key=lambda x:(x[1],x[0])) # 먼저 1번 인덱스 정렬, 그다음 0번 정렬
count = 1 # 예약 카운트 종료 시간이 제일 빠른애는 일단 등록하고 시작했으니 1부터
end = list[0][1] # 종료시간인 end 현재는 제일 첫 리스트
for j in range(1, N):
if list[j][0] >= end: # 현재 비교하는 사람의 시작 시간이 현재 사람의 종료시간보다 같거나 늦다면
count +=1 # 예약 하나 늘었고
end = list[j][1] # 이제 현재 예약한 사람의 종료시간으로 바꿔줌
print(count)
終わりました.^*^;Reference
この問題について(白駿1931会議室配分問題Python解答), 我々は、より多くの情報をここで見つけました https://velog.io/@sojeong630/백준-1931-회의실-배정-문제-python-풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol