본문 바로가기
CS (컴퓨터 사이언스)/Algorithm (알고리즘)

[알고리즘] section7 결정알고리즘 11.뮤직비디오

by dreamer10457 2024. 5. 17.
반응형
<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function count(songs, capa) {
        let cnt = 1;
        let sum = 0;

        for (let el of songs) {
          if (sum + el > capa) {
            cnt++;
            sum = el;
          } else {
            sum += el;
          }
        }
        return cnt;
      }

      function solution(m, songs) {
        let answer;
        let lt = Math.max(...songs);
        let rt = songs.reduce((a, b) => a + b, 0);
        while (lt <= rt) {
          let mid = parseInt((lt + rt) / 2);
          if (count(songs, mid) <= m) {
            answer = mid;
            rt = mid - 1;
          } else {
            lt = mid + 1;
          }
        }
        return answer;
      }

      let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
      console.log(solution(3, arr));
    </script>
  </body>
</html>

 

 

 

반응형