누가 좀 알려주세요....ㅠ,.ㅠ
책에 명시된 온라인 심사 URL이 https://onlinejudge.org/ 으로 바뀌었습니다.
프로그래밍 스킬은 연습을 통해서만 향상된다
프로그래밍적 상상력을 극대화하는 112가지 유형의 알고리즘과 자료구조
수학 공식을 많이 알고 있다고 해서 문제를 쉽게 풀 수 있는 것은 아닌 것처럼 프로그래밍에서도 알고리즘을 알고 있다고 해서 또는 언어의 문법을 알고 있다고 해서 프로그램을 잘 작성할 수 있는 것은 아니다. 결국 연습을 많이 해 봐야 한다. 이 책은 국제 프로그래밍 경시 대회 유형의 문제를 통해 학생들에게 알고리즘, 프로그래밍을 비롯한 전산학 분야의 다양한 주제에 대한 관심을 고취시켜 준다. 또한 112개의 프로그래밍 문제 외에도 문제를 해결하는 데 필요한 이론 및 핵심 개념도 수록되어 있다. 따라서 이 책을 통해 알고리즘에 대한 이해와 코딩 실력을 효과적으로 향상 시킬 수 있는 가장 효과적인 방법을 습득할 수 있다.
이 책의 특징
교수들은 각종 업무와 약속으로 가득 찬 복잡한 스케줄 속에서 매우 바쁘게 살아간다. P 교수는 낮잠을 자는 것을 좋아하지만 스케줄이 바쁘다 보니 낮잠을 잘 수 있는 시간이 별로 없다. 하지만 P 교수는 매일 한 번씩은 낮잠을 자고 싶어한다. 물론 그의 스케줄을 감안해서 될 수 있으면 오랫동안 낮잠을 즐길 수 있는 방법을 찾아야 한다. P 교수가 최대한 오랫동안 낮잠을 잘 수 있게 해주는 프로그램을 만들어라.
- 본문의 "낮잠 오래 자기(Longest Nap)" 문제 중에서 -
블라디미르는 새하얀 피부와 날카로운 이를 가지고 있다. 나이는 600살이나 되지만, 뱀파이어인 블라디미르에게 나이는 별 의미가 없다. 블라디미르는 뱀파이어로 살아가는 데 있어서 별 다른 불편함을 느끼지 못한다. 그는 항상 야간 근무를 맡는 의사로 일하고 있는데, 훌륭하게 의사 생활을 하고 있으며, 야간 근무를 도맡아 하다 보니 동료들하고도 매우 사이 좋게 지내고 있다. 그는 파티장에서 맛을 보는 것만으로도 혈액형을 알아맞히는 쇼를 보여주곤 한다. 블라디미르는 여행을 하고 싶은데, 뱀파이어이다 보니 세 가지 문제를 극복해야만 한다.
두 도시가 주어졌을 때 최단 경로를 찾는 프로그램을 만들어서 블라디미르가 최소한의 피만 챙겨서 여행할 수 있도록 도와주자. 피를 너무 많이 가지고 다니면 사람들이 "그 피 가지고 뭘 하실 건가요?" 같은 질문을 하면서 의심할 수도 있기 때문이다.
- "황혼에서 새벽까지(From Dusk Till Dawn)" 문제 중에서 -
추천평
프로그램은 프로그래밍 언어를 단순히 문법에 맞게 늘어놓은 것 같지만 프로그래머의 사고의 구조가 그대로 투영된 결과물이다. 못쓴 글씨를 남에게 내놓기 부끄럽듯이 엉성한 프로그램은 프로그래머의 지적 구조를 드러내 보이는 사진 건판 같은 것이다. 프로그램을 보면 프로그래머의 도피성 땜질도 볼 수 있고 예술가의 자부심 같은 것도 느낄 수 있다.
프로그래밍 컨테스트는 프로그래밍을 얼마나 잘 하느냐를 테스트하겠다는 것인데 이것은 일반이 생각하는 것처럼 특정 프로그래밍 언어를 잘 사용하는 것과는 별개의 문제다. 프로그래밍 컨테스트는 문제 해결 능력을 테스트하는 것이다. 그래서 문제들은 대개 고도의 수학적, 체계적 사고를 요한다. 대학의 컴퓨터학과에서 배우는 이론 과목인 컴퓨터 알고리즘이 이 부분에 가장 관련이 깊다. - 문병로 교수 추천사 중에서(서울대학교 컴퓨터공학부 교수)
이 책에서 제공하는 문제
문제 1. 3n+1 문제(The 3n+1 Problem)
문제 2. 지뢰 찾기(Minesweeper)
문제 3. 여행(The Trip)
문제 4. LCD 디스플레이(LCD Display)
문제 5. 그래픽 편집기(Graphical Editor)
문제 6. 인터프리터(Interpreter)
문제 7. 체크 확인(Check the Check)
문제 8. 호주식 투표법(Australian Voting)
문제 9. 유쾌한 점퍼(Jolly Jumpers)
문제 10. 포커 패(Poker Hands)
문제 11. 동맹 휴업(Hartal)
문제 12. 암호 깨기(Crypt Kicker)
문제 13. 쌓아 올리기(Stack 'em Up)
문제 14. 에르되시 수(Erd?s Numbers)
문제 15. 경시 대회 점수판(Contest Scoreboard)
문제 16. 야찌(Yahtzee)
문제 17. WERTYU
문제 18. 월도르프를 찾아라(Where's Waldorf?)
문제 19. 공통된 변경 문자열(Common Permutation)
문제 20. 암호 깨기 II(Crypt Kicker II)
문제 21. 자동 심사 스크립트(Automated Judge Script)
문제 22. 파일 조각(File Fragmentation)
문제 23. 더블릿(Doublets)
문제 24. Fmt
문제 25. 비토와 친척들(Vito's Family)
문제 26. 팬 케이크(Stacks of Flapjacks)
문제 27. 다리(Bridge)
문제 28. 낮잠 오래 자기(Longest Nap)
문제 29. 구두 수선공 문제(Shoemaker's Problem)
문제 30. CDVII
문제 31. 셸 정렬(ShellSort)
문제 32. 축구(Football(aka Soccer))
문제 33. 자리 올림(Primary Arithmetic)
문제 34. 뒤집어서 더하기(Reverse and Add)
문제 35. 고고학자의 딜레마(The Archeologist's Dilemma)
문제 36. 1의 개수(Ones)
문제 37. 곱하기 게임(A Multiplication Game)
문제 38. 다항식의 계수(Polynomial Coefficients)
문제 39. 스턴-브로콧 수체계(The Stern-Brocot Number System)
문제 40. 모든 쌍의 합(Pairsumonious Numbers)
문제 41. 피보나치 수의 개수(How many Fibs?)
문제 42. 땅 나누기(How Many Pieces of Land?)
문제 43. 셈(Counting)
문제 44. 표현식(Expressions)
문제 45. 완전 트리 레이블링(Complete Tree Labeling)
문제 46. 수도사 수학자(The Priest Mathematician)
문제 47. 자기기술 수열(Self-describing Sequence)
문제 48. 단계(Steps)
문제 49. 빛, 더 많은 빛(Light, More Light)
문제 50. 카마이클 수(Carmichael Numbers)
문제 51. 유클리드 문제(Euclid Problem)
문제 52. 팩토리얼 나누기(Factovisors)
문제 53. 소수 네 개의 합(Summation of Four Primes)
문제 54. 스미스 수(Smith Numbers)
문제 55. 유리 구슬(Marbles)
문제 56. 재포장(Repackaging)
문제 57. 작은 비숍(Little Bishops)
문제 58. 15-퍼즐 문제(15-Puzzle Problem)
문제 59. 줄(Queue)
문제 60. 서비스 센터(Servicing Stations)
문제 61. 줄다리기(Tug of War)
문제 62. 에덴동산(Garden of Eden)
문제 63. 컬러 해시(Color Hash)
문제 64. 더 큰 사각형(Bigger Square Please)
문제 65. 두 색으로 칠하기(Bicoloring)
문제 66. 원판 돌리기(Playing With Wheels)
문제 67. 여행자 가이드(The Tourist Guide)
문제 68. 슬래시 미로(Slash Maze)
문제 69. 편집 단계 사다리(Edit Step Ladders)
문제 70. 정육면체 탑(Tower of Cubes)
문제 71. 황혼에서 새벽까지(From Dusk Till Dawn)
문제 72. 하노이의 탑 문제 다시 보기(Hanoi Tower Troubles Again!)
문제 73. 주근깨(Freckles)
문제 74. 목걸이(The Necklace)
문제 75. 소방서(Fire Station)
문제 76. 철로(Railroads)
문제 77. 전쟁(War)
문제 78. 여행자 가이드(Tourist Guide)
문제 79. 대만찬(The Grand Dinner)
문제 80. 문제 출제 문제(The Problem With the Problem Setter)
문제 81. 큰 것이 똑똑하다?(Is Bigger Smarter?)
문제 82. 서로 다른 부분열(Distinct Subsequences)
문제 83. 거북이 쌓기(Weights and Measures)
문제 84. 단방향 TSP(Unidirectional TSP)
문제 85. 막대 자르기(Cutting Sticks)
문제 86. 페리 탑승(Ferry Loading)
문제 87. 젓가락(Chopsticks)
문제 88. 여행: 제4부(Adventures in Moving: Part IV)
문제 89. 체스판 위의 개미(Ant on a Chessboard)
문제 90. 외발자전거(Monocycle)
문제 91. 별(Star)
문제 92. 꿀벌 마야(Bee Maja)
문제 93. 강도(Robbery)
문제 94. 2, 3, 4차원 정사각형/직사각형/정육면체/육면체((2/3/4)-D Sqr/Rects/Cubes/Boxes?)
문제 95. 더뮤바 삼각지대(Dermuba Triangle)
문제 96. 항공노선(Airlines)
문제 97. 개와 땅다람쥐(Dog and Gopher)
문제 98. 밧줄나라의 밧줄 파동(Rope Crisis in Ropeland!)
문제 99. 원탁의 기사(The Knights of the Round Table)
문제 100. 초코칩 쿠키(Chocolate Chip Cookies)
문제 101. 생일 케이크(Birthday Cake)
문제 102. 최대/최소 상자(The Largest/Smallest Box)
문제 103. 적분?(Is This Integration?)
문제 104. 얼마나 클까?(How Big Is It?)
문제 105. 신입생 관리(Herding Frosh)
문제 106. 가장 가까운 두 지점(The Closest Pair Problem)
문제 107. 전기톱 학살사건(Chainsaw Massacre)
문제 108. 뜨겁워 차갑워 게임(Hotter Colder)
문제 109. Useless Tile Packers
문제 110. 레이더 추적(Radar Tracking)
문제 111. 섬과 나무(Trees on My Island)
문제 112. 우유(Nice Milk)
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2021-09-07 | 다운로드 |
박상현
타카하시 나오히로