River Crossing ¶
- 2011ë…„ 4ì›” 4ì�¼ ì •ëª¨ì—�서 ì§„í–‰ë�œ ë ˆì�´íм êµ�수와 함께하는 CodeRace.ì§„í–‰ìž�ë�¼ì„œ ì§�ì ‘ CodeRaceì—� 참여하지 못한 것ì�´ 아쉬워 늦게ë�¼ë�„ 코딩해본다. 오늘 ì •ë§� ì�¼ì°� ìž�ë ¤ê³ í–ˆëŠ”ë�° 누워있다가 ì�´ê±° 너무너무 ì§œë³´ê³ ì‹¶ì–´ì„œ ê°‘ìž�기 ìž ì�´ 슬슬 깨길래 어떻게 í• ì§€ ê³ ë¯¼. ê³ ë¯¼í•˜ë‹¤ ìž ì�´ ë‹¬ì•„ë‚ ì •ë�„로 í•˜ê³ ì‹¶ì�€ 것ì�€ 그냥 넘기면 안 ë�˜ê² 다 ì‹¶ì–´ 새벽 3시ì—� ì�¼ì–´ë‚˜ 코딩 시작.
- 사용 언어는 RubyLanguage
- TDD로 ê°œë°œí•˜ë ¤ 했는ë�° rake aborted! No Rakefile found. ë�¼ëŠ” 메세지가 뜨면서 테스트가 실행ë�˜ì§€ 않아 í�¬ê¸°í•¨. 한시간ë�™ì•ˆ 계ì†� 찾아봤지만 ëª¨ë¥´ê² ë‹¤. ì˜�ì–´ 문서를 ì�½ìœ¼ë©´ 답ì�´ 있ì�„ 것 ê°™ì�€ë�° ë�” ì�´ìƒ�ì�€ ì˜�어를 ì�½ê³ 싶지않아ㅜㅜㅜㅜㅜㅜ
- 넷빈즈가 ì�´ìƒ�해서 ë˜� 한시간ì�„ ë�” ë‚ ë ¸ë‹¤... 피곤하니 ìž�러가야지.
목표 ¶
- ëª¨ë“ ì‚¬ëžŒì�´ A 마ì�„ì—�서 B 마ì�„로 건너간다.
ì „ì œ ¶
- A 마�과 B 마� 사��는 강� 있다.
- ê°•ì�€ 너무나 ë„“ê³ ê¹Šê¸° 때문ì—� 배를 타지 ì•Šê³ ê±´ë„� 수 없다.
Step 1 ¶
- ë ˆì�´íм êµ�수가 A 마ì�„ì—�서 B 마ì�„로 건너간다.
class Layton
@location
attr_accessor :location
def initialize
@location = false
end
def crossRiver
@location = true
end
end
layton = Layton.new() layton.crossRiver if !layton.location print "FAIL" end
Step 2 ¶
- ë ˆì�´íм êµ�수는 배를 íƒ€ê³ ë§žì�€íޏ 마ì�„로 건너갈 수 있다.
- A 마� -> B 마�
- B 마� -> A 마�
- A 마� -> B 마�
class Layton
@location
attr_accessor :location
def initialize
@location = false
end
def crossRiver
@location = !@location
end
end
class Solver
def run(person)
person.crossRiver
end
end
solver = Solver.new() layton = Layton.new() solver.run(layton) if !layton.location print "FAIL" end
Step 3 ¶
- 루�
- 루í�¬ëŠ” ì–´ë ¤ì„œ 혼ìž�서는 배를 탈 수 없다.
- 루í�¬ëŠ” ì–´ë ¤ì„œ 혼ìž�서는 배를 탈 수 없다.
Step 4 ¶
- � 파울로
- ë�ˆ 파울로는 ë ˆì�´íм êµ�수가 없으면 루í�¬ë¥¼ ê°•ì—� ë�˜ì ¸ë²„린다.
- ë�ˆ 파울로는 ë ˆì�´íм êµ�수가 없으면 루í�¬ë¥¼ ê°•ì—� ë�˜ì ¸ë²„린다.
Step 5 ¶
- 2�승 배만 탈 수 있다.










