GreatAlgorithm-Study / AlgorithmStudy

🌟알고리즘 대장정🌟
6 stars 4 forks source link

[5주차_목요일] 상담원 인원 #60

Closed yeongleej closed 1 month ago

yeongleej commented 1 month ago
yeongleej commented 1 month ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

  1. 상담원 분배하기 => 중복순열

    • 총 n명의 상담원을 k개의 유형으로 분배해야함
    • 예) 4명, 3개 유형 => [1, 1, 2], [1, 2, 1] [2, 1, 1] ,,,,,,,
    • 중복순열 시간복잡도 : O(n^k)
  2. 상담하기 => 우선순위큐 이용

    • mento[] : 각 유형별로 우선순위큐를 이용해 가장 상담이 빨리 끝나는 상담사 출력
      • 즉, 우선순위큐 배열임
    • 초기화
      • mento[i]에는 위의 상담원 분배에서 분배한 상담사의 수 만큼 0으로 초기화
      • 0은 각 상담사의 끝나는 시간을 의미함
      • 상담사 선택 : endTime = mento[i].poll()
      • 기다린 시간 계산
        • waitTime : (출력된 상담사의 끝나는 시간 - 멘티의 시작시간)
        • 이는 기다리지 않으면 음수값이 되므로 max(0, waitTIme) 으로 기다리지 않았다면 0으로 처리
      • 다시, 현재 유형에 멘티의 상담 끝나는 시간을 add 해서 상담원 인원수 맞춤
Jewan1120 commented 1 month ago

🤔 시간복잡도 고려사항

💡 풀이 아이디어

baexxbin commented 1 month ago

🤔 시간복잡도 고려사항


💡 풀이 아이디어

조합 구현하기 더 연습하기,, 처리해야할 일이 뭉탱이로 주어지는거 잘 분리하기,,

KodaHye commented 1 month ago

🤔 시간복잡도 고려사항


💡 풀이 아이디어

처음엔 그냥 그리디,, 로만 풀 수 있을 줄 알았는데, 각 유형별로 멘토 인원이 한 명 이상이 되어야 하는 조건도 있고, 완탐으로 해야되더라구요!!,,, 역시 문제를 잘 읽어서 이해하고,, 잘 물어야겠다고 생각했습니다!

yeahdy commented 1 month ago

💡 풀이 아이디어

🤔 시간복잡도 고려사항

icegosimperson commented 1 month ago

🤔 시간복잡도 고려사항 시간 복잡도 : n: 20, k=5 -> 주어진 조건 내 가능

💡 풀이 아이디어

조합 문제,,!! 처음 풀어봤는데 어렵네요 ㅠ_ㅠ 많이 풀어보겠습니다!