[코딩도장] Four Boxes 공부이야기

코딩도장 Four Boxes 문제풀어봤습니다.

루비에서 2차원 배열을 어떻게 사용해야 좋을지 몰라서 getPos 같은 무지막지한 함수까지 만들어버렸네요;; 마지막에 area 구하는 부분도 좀 더 이쁘게 만들 수 있을거 같은데...

position = [[1, 2, 4, 4],
[2, 3, 5, 7],
[3, 1, 6, 5],
[7, 3, 8, 6]]

space = Array.new(1000*1000, 0)
area = 0

def getPos(x, y)
return x+(y*1000)
end

position.each do | x1, y1, x2, y2 |
(y1..(y2-1)).each do | y |
(getPos(x1, y)..getPos((x2-1), y)).each do | pos |
space[pos] = 1
end
end
end

space.each do | tile |
if tile == 1
area = area + 1
end
end

puts area


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://grow.egloos.com/tb/4617867 [도움말]

덧글

  • deisys 2008/09/17 17:26 # 삭제 답글

    Map/Reduce 예제로 이 문제 쓸까해요 ㅎㅎㅎ
  • 지아 2008/09/17 17:51 # 답글

    헉... 제 코드에는 map도 reduce도 등장하지 않는데...
    다시 풀어야겠군요.. ㅠ _ ㅠ

    (꼬랑지) 루비에서 2차원 배열 인덱스로 접근하는 방법 좀 아시면.. 굽신굽신
덧글 입력 영역