[20211024]알고리즘 풀이

2021. 10. 24. 02:26·알고리즘 풀이
졸업 선물
 선생님은 올해 졸업하는 반 학생들에게 졸업선물을 주려고 합니다. 학생들에게 인터넷 쇼핑몰에서 각자 원하는 상품을 골라 그 상품의 가격과 배송비를 제출하라 고 했습니다. 선생님이 가지고 있는 예산은 한정되어 있습니다. 현재 예산으로 최대 몇 명의 학생에게 선물을 사줄 수 있는지 구하는 프로그램을 작성하세요. 선생님은 상품 하나를 50% 할인해서(반 가격) 살 수 있는 쿠폰을 가지고 있습니다. 배송비는 할인에 포함되지 않습니다.

▣ 입력설명
 첫 번째 줄에 반 학생수 N(1<=N<=1000)과 예산 M(1<=M<=100,000,000)이 주어진다. 두 번째 줄부터 N줄에 걸쳐 각 학생들이 받고 싶은 상품의 가격과 배송비가 입력됩니다. 상품가격과 배송비는 각각 100,000을 넘지 않습니다. 상품가격은 짝수로만 입력됩니다.
▣ 출력설명
 첫 번째 줄에 선생님이 현재 예산으로 선물할 수 있는 최대 학생수를 출력합니다. 선생님 최소한 1개 이상의 상품을 살 수 있는 예산을 가지고 있습니다.
▣ 입력예제
 1 5 28 6 6 2 2 4 3 4 5 10 3
▣ 출력예제
 1 4 출력설명 (2, 2), (4, 3), (4, 5)와 (10, 3)를 할인받아 (5, 3)에 사면 비용이 4+7+9+8=28입니다.
function solution(m, product){
  let answer = 0
  for (let x = 0; x < product.length; x++) {
    let newArr = [], sum = 0
    let newProduct = [...product]
    sum = newProduct[x][0] * 0.5 + newProduct[x][1]
    newProduct.splice(x, 1)
    for (let y = 0; y < newProduct.length; y++) {
    	newArr.push(newProduct[y][0] + newProduct[y][1])
    }
    newArr.sort((a, b) => {
      if (a > b) return 1
      if (a === b) return 0
      if (a < b) return -1
    })
    let cnt = 0
    while (m >= sum) {
      sum += newArr[cnt]
    	cnt++
    }
    if (answer < cnt) answer = cnt
  }
  return answer;
}

let arr=[[6, 6], [2, 2], [4, 3], [4, 5], [10, 3]];
console.log(solution(28, arr));

'알고리즘 풀이' 카테고리의 다른 글

[20211028]알고리즘 풀이  (0) 2021.10.28
[20211027]알고리즘 풀이  (0) 2021.10.27
[20211018]알고리즘 풀이  (0) 2021.10.18
[20211012]알고리즘 풀이  (0) 2021.10.12
[20211010]알고리즘 풀이  (0) 2021.10.10
'알고리즘 풀이' 카테고리의 다른 글
  • [20211028]알고리즘 풀이
  • [20211027]알고리즘 풀이
  • [20211018]알고리즘 풀이
  • [20211012]알고리즘 풀이
JoyYellow
JoyYellow
  • JoyYellow
    JoyYellow
    JoyYellow
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • Vue (7)
      • React (10)
      • 알고리즘 풀이 (29)
      • 타입스크립트 (2)
      • Microsoft (4)
      • TIL(Today I Learned) (16)
      • Devops (4)
      • CS(Computer Science) (2)
      • Spring (1)
      • Incomplete (0)
      • JS소스모듈 (10)
      • TDD (2)
      • 스프링부트 (0)
      • CSS (8)
      • Next.js (0)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    노개북
    개발자북클럽
    노마드코더
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
JoyYellow
[20211024]알고리즘 풀이
상단으로

티스토리툴바