문제보글(Boggle) 게임은 그림 (a)와 같은 5x5 크기의 알파벳 격자인 게임판의 한 글자에서 시작해서 펜을 움직이면서 만나는 글자를 그 순서대로 나열하여 만들어지는 영어 단어를 찾아내는 게임입니다. 펜은 상하좌우, 혹은 대각선으로 인접한 칸으로 이동할 수 있으며 글자를 건너뛸 수는 없습니다. 지나간 글자를 다시 지나가는 것은 가능하지만, 펜을 이동하지않고 같은 글자를 여러번 쓸 수는 없습니다.예를 들어 그림의 (b), (c), (d)는 각각 (a)의 격자에서 PRETTY, GIRL, REPEAT을 찾아낸 결과를 보여줍니다.보글 게임판과 알고 있는 단어들의 목록이 주어질 때, 보글 게임판에서 각 단어를 찾을 수 있는지 여부를 출력하는 프로그램을 작성하세요.주의: 알고리즘 문제 해결 전략 6장을 읽고..
문제새 학기가 시작되면 항상 부담되는 것이 비싼 교과서 가격이다. 오랜 병특 생활을 마치고 복학한 스탱은 이번 학기에 사야 하는 N 권의 교과서를 인터넷 서점에서 사기로 했다. 인터넷 서점 간의 과다 경쟁으로 인해 모든 서점들은 한 권을 사더라도 무료 배송을 실시하고 있으며, 교내 서점보다 가격도 저렴하다.그런데, 스탱은 자신이 가입해 있는 M 군데의 인터넷 서점마다 각각의 교과서 가격이 다르다는 것을 발견하게 되었다. 단순하게 한 서점이 다른 서점보다 항상 싸거나 항상 비싼 경우라면 간단하겠지만, 실제로는 교과서마다 가장 싸게 파는 서점이 서로 달랐다. 각 교과서마다 가장 싸게 파는 서점에 가서 사면 좋겠지만, 한 서점에서 책을 많이 사면 회원등급이 오르는 혜택이 있기 때문에 스탱은 서점 하나를 골라 ..
문제M개의 문장으로 이뤄진 책이 있다. 각 문장은 길이 1이상 60이하의 문자열이며, 알파벳 문자이거나(대문자 혹은 소문자), 마침표(.), 쉼표(,), 물음표(?) 혹은 빈칸으로 이뤄진다. 문장의 맨 앞이나 뒤에 공백이 오는 경우나, 2개의 빈칸이 나오는 경우는 존재하지 않는다.독서를 좋아하는 원표는 책을 읽는 도중에 마음에 드는 문장을 메모해 두었는데, 이를 적어놓은 종이에다 연구실 선배인 현환이가 낙서를 해 두었다. 이를 발견하고 원표는 당황했지만, 다행히도 현환이가 적어놓은 낙서와 원표의 낙서는 전연 관계가 없다는것을 알고 안도하였다. 하지만 워낙 낙서를 해논 양이 많았기 때문에, 원표는 자신이 적어놓은 문장과 현환이가 적어놓은 문장을 구분해야한다. 원표는 규칙을 잘 지키고 순서를 중요하는 사람이..