코딩도장 Four Boxes 문제를 풀어봤습니다.
루비에서 2차원 배열을 어떻게 사용해야 좋을지 몰라서 getPos 같은 무지막지한 함수까지 만들어버렸네요;; 마지막에 area 구하는 부분도 좀 더 이쁘게 만들 수 있을거 같은데...
루비에서 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


덧글
deisys 2008/09/17 17:26 # 삭제 답글
Map/Reduce 예제로 이 문제 쓸까해요 ㅎㅎㅎ
지아 2008/09/17 17:51 # 답글
헉... 제 코드에는 map도 reduce도 등장하지 않는데...다시 풀어야겠군요.. ㅠ _ ㅠ
(꼬랑지) 루비에서 2차원 배열 인덱스로 접근하는 방법 좀 아시면.. 굽신굽신