-
배운것과 내가 아는것은 다르구나......살아가면서/생각하면서 2012. 3. 23. 00:17반응형
요새 회사에서 진행하는것 때문에 틈나는대로 Ruby를 보고 있다.
또 배우는김에 이번에 알고스팟에서 Ruby로도 문제를 풀수있게 되서 한번 해봤다.
문제 url : http://algospot.com/judge/problem/read/DRAWRECT
문제를 봤을때 더하고 빼고 해면 될것 같았는데 잘 안됐고, sort 남발, 경우의수 다 집어 넣어서 억지로 정답! 을 얻었다.
그 코드는.....후덜덜
Integer(gets).times{ x = [] y = [] 3.times { inputs = gets.chomp if inputs.respond_to?("split") input = inputs.split x.push(input[0].to_i) y.push(input[1].to_i) end } x = x.sort y = y.sort selectX = 0 selectY = 0 firstX = 0 firstY = 0 x.each do |number| if selectX == 0 selectX = number firstX = number next end if selectX == number selectX = 0 elsif selectX != number selectX = number end end y.each do |number| if selectY == 0 selectY = number firstY = number next end if selectY == number selectY = 0 elsif selectY != number selectY = number end end if selectX == 0 selectX = firstX end if selectY == 0 selectY = firstY end puts "#{selectX} #{selectY}" }
정답을 맞추면 다른사람들은 어떻게 했는지 볼수있는데,
아~~~~~~~~~~~~~!!!! XOR연산~!!그때 parity check가 생각이 났다.....
이미 난 배운건데 정작 써먹어야할때는 생각이 나지않았다.
Integer(gets).times{ selectX = 0 selectY = 0 3.times { inputs = gets.chomp if inputs.respond_to?("split") input = inputs.split selectX ^= input[0].to_i selectY ^= input[1].to_i end } puts "#{selectX} #{selectY}" }
수행시간은 왜 처음것이 빠르지?;;;내게 도움이 될만한 무엇인가를 배웠다면, 내것으로 꼭~!! 만들자~!!
반응형