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