스탠포드식 쉬운 프로그래밍 / 코딩 첫걸음 (11) - 카렐 체커보드

스탠포드식 쉬운 프로그래밍 / 코딩 첫걸음 (11) - 카렐 체커보드 본문

스탠포드식 쉬운 프로그래밍 / 코딩 첫걸음 (11) - 카렐 체커보드

KRONNA 2016.07.08 10:03


이번 주의 과제는 카렐과 함께 해결할 3번째 문제인 "체커보드" 과제입니다! 보기엔 꽤 쉬워보여도 실제로는 상당히 까다로운 문제죠. 




여러분은 카렐이 비퍼를 이용해 빈 세계를 체커보드 패턴으로 꾸밀 수 있게 도와줄겁니다. 루이비통의 체커드 디자인이 생각나는 엘레강트한 디자인으로 말이죠. 참고로 세계를 체커보드 패턴으로 꾸미는 일을 다 끝냈을 때, 카렐이 어디에 서서 어느 방향을 보고 있는가는 상관 없습니다).




문제를 어떻게 풀까 고민하실때 이번에도 다양한 종류의 세계에서 작동해야 한다는 점을 유의해주세요. 정확히 짜여진 프로그램은 8x8 세계 뿐만 아니라 주어진 1x8, 6x5, 7x7, 8x1, 8x8, 16x20, 40x40 세계에서 전부 작동해야하며, 이론적으로 "아무 숫자 x 아무 숫자"의 크기로 만든 빈 세계라면 어디서든 고장나지 않고 체커보드 디자인으로 세계를 꾸밀 수 있어야합니다. 카렐 프로그램의 New World 기능을 사용해 새로운 세계를 만들어보세요! (직접 만드신다면 카렐의 가방에 무한개의 비퍼를 넣어주는 것과 저장할때 (원하는이름).w로 저장하는 것 잊지 마세요!). 


참고로 홀수 세계가 좀 더 어렵습니다. 위에 보이는 5 x 3 세계에서 작동하는지 꼭 확인해보세요! 코드를 보내주신다면 1칸 높이 혹은 1칸 넓이의 세계에서도 확인해볼겁니다. ;) 




다시 한번 얘기드리지만 이번 과제는 좀 더 어렵습니다. 그러니 한번에 해결하지 못 해도 상심하지 마세요. 프로그래밍 고수는 자신의 프로그램이 제대로 작동하지 않을 상황들을 계속 테스트해가면서 그런 상황들을 보완해나가며 프로그램을 완성합니다. 여러분도 그렇게 "안 되면 되게 하면 되지!" 같은 편안한 마음으로 한번 잘 완성해보세요! 


Stanford CS106A 수업에 대한 모든 권리는 스탠포드 대학교가 가지고 있습니다. "스탠포드식 쉬운 프로그래밍 / 코딩 첫걸음"은 스탠포드 대학교의 CS106A 수업을 남녀노소 누구나 쉽게 배울 수 있도록 각색하고 한국어로 번역한 내용이며, 본글에 대한 모든 권리도 스탠포드 대학교가 가지고 있습니다. CS106A 수업에 사용되는 교재인 Karel the Robot Learns Java와 The Art & Science of Java를 작성해주신 Eric Roberts 교수님과 CS106A 수업을 가르치고 계시며 해외로 수업 내용 반출을 허락해주신 Mehran Sahami 교수님 그리고 Marty Stepp 교수님께 감사드립니다.


스탠포드 대학교에서 컴퓨터 과학을 전공중인 박준원이라고 합니다. 질문은 junwonpk@stanford.edu로 보내주시면 24시간 내로 답변 드리겠습니다. 설명을 따라했는데도 똑같이 작동하지 않거나 설명에 이해하기 어려운 부분이 있으면 주저하지 말고 질문 보내주세요! ^^

2 Comments
댓글쓰기 폼