더북(TheBook)

좋아하는 영웅의 목록을 세 명으로 유지하라는 과제를 받았다. 좋아하는 영웅이 바뀌면 목록에 들어 있는 이름을 바꿀 수 있어야 한다. 세 영웅은 스파이더맨, 배트맨, 슈퍼맨이라고 하자.

어쩌면 지금까지 배운 내용을 바탕으로 "Spiderman Batman Superman"처럼 세 영웅의 이름이 모두 들어 있되 서로 공백으로 구분되는 문자열을 만들려고 할지도 모르겠다. 약간의 노력을 기울이면 7장과 8장에서 배운 명령으로 이런 문자열을 만들고, 문자열 안에서 각 영웅의 이름에 해당하는 인덱스를 찾아내고, 필요할 때 각 이름을 뽑아낼 수 있을 것이다.

하지만 ‘피터 파커 부르스 웨인 클라크 켄트’ 같이 이름 전체를 사용해야 한다면 어떨까? 이제 이름과 성도 공백으로 구분되기 때문에 세 사람의 이름을 뽑아내는 작업이 조금 더 복잡해진다. 물론 콤마와 같은 다른 특수 문자로 각 영웅의 이름 전체를 구분할 수도 있겠지만, 그렇게 한다고 해서 문자열에 데이터를 저장할 때 생기는 성가신 문제들을 해결해 주지는 않는다. 모든 아이템의 시작 인덱스와 끝 인덱스를 추적해야 하기 때문에 필요한 부분을 뽑아내는 작업은 엄청 귀찮다.

생각해 보자

냉장고를 열고 그 안에 있는 모든 물건의 이름을 콤마로 분리해 종이에 적자. 다음으로 빨래 바구니를 열고 그 안에 있는 모든 물건을 콤마로 분리해 적자.

두 가지 물건 목록을 보면서 대답해 보자.

• 물건이 얼마나 많은가?

• 첫 번째 물건은 무엇인가? 정 가운데 있는 물건은 무엇인가(물건 개수가 짝수라면 가운데 두 물건 중 앞의 것을 택하라)?

| 답(예시) |

냉장고: 우유, 치즈, 김치, 당근, 달걀

• 5개

• 첫 번째: 우유, 가운데: 김치

빨래 바구니: 티셔츠, 양말

• 2개

• 첫 번째: 티셔츠, 가운데: 티셔츠

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.