Page 20 -
P. 20
사람이 눈으로 볼 때는 줄이 바뀐 것이지만, 컴퓨터가 볼 때는 그냥 새줄 문자라는 한 문자에 지나
지 않는다. 새줄 문자는 \n으로 표현한다. 따라서 전체 문자열에서 모든 새줄 문자를 찾아야 단어
들을 서로 구분할 수 있다. 그림 19-1은 새줄 문자를 찾는 과정을 좀 더 체계적으로 생각하는 방
법이다.
이 간단한 그림만 봐도 문제를 어떻게 풀지 알 수 있다. start와 end는 처음에 긴 문자열의 첫 번
째 문자를 가리킨다. 긴 문자열에서 한 단어의 끝을 찾아 표시하기 위해 end 인덱스를 증가시켜 \n
을 찾는다. 새줄 문자를 찾은 시점에 보면 단어의 시작은 start가, 단어의 끝은 end가 가리키므로
그 단어를 저장할 수 있다. 그 후 start와 end를 모두 새줄 문자 바로 뒤로 옮겨서 다음 단어를 찾
기 시작한다.
그림 19-1 문자열을 단어로 나누는 방법. 맨 위의 ‘시작’을 보면 start와 end 인덱스 변수를 사용한다. 가운데의 ‘단어 찾음’을 보면
새줄 문자를 만나면 end 인덱스 증가를 멈춘다. 마지막 ‘다시 시작’을 보면 start와 end를 새줄 문자 다음으로 변경해서 단어 검색을
계속한다
" 3 5 =O ) 6 & =O * / ,
द
4UBSU &OE
" 3 5 =O ) 6 & =O * / ,
ױয
4UBSU &OE
" 3 5 =O ) 6 & =O * / ,
द
द
4UBSU &OE
19.1.1.2 몇 가지 예 생각해보기
프로그램을 작성할 때는 프로그램이 잘 작동하는지 알아볼 수 있게 몇 가지 테스트 케이스를 만들
어야 한다. 간단한 경우와 복잡한 경우를 몇 가지 생각해보라. 예를 들어 words = """art"""처럼
사용 가능한 단어 목록에 단어가 1개만 들어 있는 경우도 있고, 문제 설명에 주어진 예제처럼 단
어가 여러 개 들어 있을 수도 있다.
232
모던 파이썬 입문(본문)5차_최종.indd 232 2019-09-26 오후 9:33:41