책 정리/Programming Challenges : 알고리즘 트래이닝 북
문제 28, 낮잠 오래 자기, Longest Nap PC/UVa ID : 110404/10191
최익필
2011. 2. 10. 01:55
PC/UVa ID : 110404/10191
이 포스트를 만든 목적
- 생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다.
이 포스트의 준비물
- firefox4 beta11
- eclipse 3.6.1 + vrapper
- lua 5.1.4
참조 문헌
- 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역.
Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 28 낮잠 오래 자기, Longest Nap, page 123)
참고 링크
- http://icpcres.ecs.baylor.edu/onlinejudge/external/101/10191.html - 원문
- http://cherrykyun.tistory.com/463
- http://tausiq.wordpress.com/2009/11/16/acm-uva-10191/ - 알고리즘 구조는 나와 똑같다.
이야기
교수가 낮잠 자려고 하는데, 10:00 ~ 18:00 에 스케쥴이 없을 때, 제일 긴 낮잠을 자고 싶어한다. 프로그래머인 당신에게 요구 하고 있다. 자 만들어 보실까?프로그램의 입/출력
쓰기 귀찮다. 링크 참조 할 것,
맛보기 사진
맛보기 코드
여담
- TDD를 이용하니, 코드가 점점 자신있어 진다.
- 시간이란 개념은 같지만, 단위가 다르므로, 분 단위로 통합하고 계산하는게 편하다.
- 알고리즘 중, 10:00 와 18:00 시를 삽입해 주는데, 정렬시 영향을 미치지 않도록, 처음과 끝에 추가 한다.(중요)
- 딱히 어려운건 없으나, 문자열 파싱, 문자열 결합이 귀찮을 수 있다. lua 에선 string capture 개념이 있어, 좀 편하게 했다.(책에서 찾았다.)
:wq!