와이프가 요즘 부서를 옮겼는데, 여기는 쉬프트 근무를 하네요.
근데 직급이 좀 있다 보니 근무 배치표 짜는 것을 맡겨버렸나봐요.
한 열명쯤 되고 한 달치를 오전 근무, 오후 근무에다가 법정근로시간,
규제(오후 근무자는 다음날 오전 근무 못함 등) 연차에 월차에 뭐 온갖 요청사항까지 짬뽕을 하니
며칠을 머리를 싸매더군요.. ㅋㅋ
그래서 선뜻 내가 도와줄게 했다가 (이때만 해도 엄청 간단하게 생각했습니다..)
막상 프로그램을 짜려고 보니 복잡도가 굉장히 높네요?!
제가 개발을 어디서 배운 것도 아니고, 이과전공도 아니다 보니 잘 몰랐는데
일단 경우의 수가 엄청 나오고 그거 다 계산하려면 시간도 많이 걸리고..
어 이거 뭐지 하고 검색을 좀 해보니 Constraint Programming이라는 분야가 나오고.. (이번에 처음 알았습니다)
아아.. 내가 그동안 프로그래밍을 잘 몰랐구나 하는 생각을 하면서 ㅋㅋ 한참 좋은 내용을 잘 공부했습니다.
그런데 어쨌든 짜 준다고 했으니 프로그램을 만들어야 하는데, 이거 공부부터 다시 해야 하나..
갑자기 바빠졌다고 뻥쳐야하나 하다가, 이걸 발견했습니다!
https://developers.google.com/optimization
구글에서 OR-Tools라는걸 만들었는데, 바로 이런 경우를 도와주는 라이브러리더군요.
심지어 스케쥴링 문제는 간호사 쉬프트 문제로 아주 적절한 예제도 있어서 조금만 고쳐 쓰면 됩니다 ㅋㅋㅋ
정말 구글갓님은 찬양하지 않을 수가 없습니다!
일이 생각보다 쉽게 끝나서 기분도 좋네요~
자바스크립트가 없다니 시무룩
제가 짰으면 시간도 시간이지만, 실행 속도도 많이 걸렸을텐데
아주 잘 나오더라구요 ㅎㅎ
Gobi님이 자바스크립트 버전 만드셔서 풀리퀘 날리시면~ ;D