U E D R , A S I H C RSS

정모/2011.4.4/Code Race/김수경

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 마을

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인승 배만 탈 수 있다.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:51
Processing time 0.0115 sec