https://programmers.co.kr/learn/courses/30/lessons/42862

  • solution
    단순히 lost 와 reserve 간 element 들을 최대한 많이 매칭해주는 문제이다.
    인풋 수가 거대하지도 않고, 시간복잡도 또한 신경쓰일 만큼 복잡해지지가 않아서 단순하게 생각
    lost 가 정렬이 되어 있다고 생각해서(아닌가?) lost element 오름차순 순서대로 가능한 작은 reserve 값부터 가져가면 된다. (비유하면 lost 그룹중 키작은애부터 자기가 맞는 사이즈의 reserve 중 가장 작은 것을 선택)
    실제 알고리즘을 짤 때, lost와 reserve 중복되는 학생도 있다는 것을 염두에 두자.. (나중에 깨달았..)

  • result
    https://github.com/songjy6565/alg-py/blob/master/programmers/A4.py
    https://github.com/songjy6565/alg-js/blob/master/programmers/A4.js
    처음에 js로 작성했는데 이것저것 조건을 놓치고 있어서 잘못 짰다.. 결과는 제대로 나왔지만 잘못된 알고리즘이다. python에서 고쳤으니 만약 본다면 python 코드를 보자.