Page 19 -
P. 19

●   타일 수는 매번 달라질 수 있다. 즉, 정해진 타일 개수는 없다.

                       ●   타일에는 점수가 표시되어 있지 않다. 즉, 모든 타일은 점수가 같다.
                       ●   타일은 문자열로 주어진다(예: tiles = "hijklmnop").
                       ●   프로그램은 타일로 만들어낼 수 있는 단어를 ('ink', 'oil', 'kiln')처럼 튜플 형태로 보여
                         줘야 한다.






                    19.1          문제 이해하기                                   MODERN PYTHON







                    이 프로그램 문제는 조금 복잡해 보이므로, 몇 가지 하위 작업으로 문제를 나눠서 생각해 보자. 문                           19
                    제는 크게 두 부분으로 나눌 수 있다.


                       ●   입력받은 단어 목록을 여러분이 다룰 수 있는 형태로 만들어야 한다. 긴 문자열에 들어 있는
                         여러 단어를 각 단어들이 포함된 튜플로 만들어라.                                                  진급 프로젝트: 스크래블:아트 단어 게임

                       ●   단어 목록에 있는 단어들을 주어진 타일로 만들 수 있는지 판단하라.




                    19.1.1 올바른 단어 목록의 표현 방식 바꾸기


                    첫 번째 부분을 해결해 보자. 단어들을 나중에 사용하기 위해 튜플로 만드는 것이다. 이렇게 튜플
                    로 만들어야 하는 이유는 큰 문자열에 단어를 모두 가지고 있으면 다루기가 힘들기 때문이다.

                    올바른 단어들이 하나의 문자열로 주어진다. 이 문자열을 사람이 볼 때는 한 ‘줄’에 한 단어가 있지
                    만, 컴퓨터가 볼 때는 그냥 문자들이 들어 있는 긴 시퀀스에 불과하다.



                    19.1.1.1  문제를 그림으로 표현하기

                    처음에는 해야 할 일을 작게 스케치하는 것부터 시작하는 게 좋다. 사람이 볼 때는 문자열이 체계
                    적으로 정리된 것처럼 보이며, 쉽게 단어를 하나하나 구분할 수 있다. 하지만 컴퓨터는 단어들이

                    문자열에 들어 있다는 개념을 모른다. 컴퓨터는 주어진 문자열을 """art\nhue\nink\noil\n...\
                    ncrosshatching"""와 같이 인식한다.


                                                                                                  231





     모던 파이썬 입문(본문)5차_최종.indd   231                                                           2019-09-26   오후 9:33:41
   14   15   16   17   18   19   20   21   22   23   24