From 4f1b1d2cb8a93cff20b5eaec5658d53558ff82ff Mon Sep 17 00:00:00 2001 From: pokotyamu Date: Tue, 5 Dec 2017 15:42:02 +0900 Subject: [PATCH 1/5] add new line at EOF. --- lib/transport.rb | 2 +- test/transport_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/transport.rb b/lib/transport.rb index d930638..1ac0321 100644 --- a/lib/transport.rb +++ b/lib/transport.rb @@ -8,4 +8,4 @@ def transport(source) end transported_array.map {|s| s.join(" ")}.join("\n") -end \ No newline at end of file +end diff --git a/test/transport_test.rb b/test/transport_test.rb index 64126c8..56569d3 100644 --- a/test/transport_test.rb +++ b/test/transport_test.rb @@ -11,4 +11,4 @@ def test_transport output = "1 4 7 10\n2 5 8 11\n3 6 9 12" assert_equal output, transport(input) end -end \ No newline at end of file +end From be8a8fa6ea69132175e64619edf97152bc805f2e Mon Sep 17 00:00:00 2001 From: pokotyamu Date: Tue, 5 Dec 2017 15:46:36 +0900 Subject: [PATCH 2/5] change test name in more detail. --- test/transport_test.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/transport_test.rb b/test/transport_test.rb index 56569d3..5ec27e9 100644 --- a/test/transport_test.rb +++ b/test/transport_test.rb @@ -2,11 +2,13 @@ require './lib/transport' class TransportTest < MiniTest::Test - def test_transport + def test_transport_3x3 input = "1 2 3\n4 5 6\n7 8 9" output = "1 4 7\n2 5 8\n3 6 9" assert_equal output, transport(input) + end + def test_transport_3x4 input = "1 2 3\n4 5 6\n7 8 9\n10 11 12" output = "1 4 7 10\n2 5 8 11\n3 6 9 12" assert_equal output, transport(input) From 2c067dcaae56a446e133e4396e4d9b4e36dc1fd9 Mon Sep 17 00:00:00 2001 From: pokotyamu Date: Tue, 5 Dec 2017 15:50:37 +0900 Subject: [PATCH 3/5] use `Array#transpose` --- lib/transport.rb | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lib/transport.rb b/lib/transport.rb index 1ac0321..738c92d 100644 --- a/lib/transport.rb +++ b/lib/transport.rb @@ -1,11 +1,4 @@ def transport(source) array = source.split("\n").map {|s| s.split(" ")} - rows_count = array.first.count - - transported_array = [] - 0.upto(rows_count - 1) do |i| - transported_array << array.map {|a| a[i]} - end - - transported_array.map {|s| s.join(" ")}.join("\n") + array.transpose.map {|s| s.join(" ")}.join("\n") end From 2cecf9a1b3a67a0499f98375cbdeeec2946ee511 Mon Sep 17 00:00:00 2001 From: pokotyamu Date: Tue, 5 Dec 2017 15:51:10 +0900 Subject: [PATCH 4/5] array -> matrix --- lib/transport.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/transport.rb b/lib/transport.rb index 738c92d..878c04f 100644 --- a/lib/transport.rb +++ b/lib/transport.rb @@ -1,4 +1,4 @@ def transport(source) - array = source.split("\n").map {|s| s.split(" ")} - array.transpose.map {|s| s.join(" ")}.join("\n") + matrix = source.split("\n").map {|s| s.split(" ")} + matrix.transpose.map {|s| s.join(" ")}.join("\n") end From 073b79076026149f4b8168b709f710fc6706ca97 Mon Sep 17 00:00:00 2001 From: pokotyamu Date: Tue, 5 Dec 2017 15:56:45 +0900 Subject: [PATCH 5/5] transport -> transpose. --- lib/{transport.rb => transpose.rb} | 2 +- test/{transport_test.rb => transpose_test.rb} | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) rename lib/{transport.rb => transpose.rb} (83%) rename test/{transport_test.rb => transpose_test.rb} (50%) diff --git a/lib/transport.rb b/lib/transpose.rb similarity index 83% rename from lib/transport.rb rename to lib/transpose.rb index 878c04f..8665afa 100644 --- a/lib/transport.rb +++ b/lib/transpose.rb @@ -1,4 +1,4 @@ -def transport(source) +def transpose(source) matrix = source.split("\n").map {|s| s.split(" ")} matrix.transpose.map {|s| s.join(" ")}.join("\n") end diff --git a/test/transport_test.rb b/test/transpose_test.rb similarity index 50% rename from test/transport_test.rb rename to test/transpose_test.rb index 5ec27e9..74ab788 100644 --- a/test/transport_test.rb +++ b/test/transpose_test.rb @@ -1,16 +1,16 @@ require 'minitest/autorun' -require './lib/transport' +require './lib/transpose' -class TransportTest < MiniTest::Test - def test_transport_3x3 +class TransposeTest < MiniTest::Test + def test_transpose_3x3 input = "1 2 3\n4 5 6\n7 8 9" output = "1 4 7\n2 5 8\n3 6 9" - assert_equal output, transport(input) + assert_equal output, transpose(input) end - def test_transport_3x4 + def test_transpose_3x4 input = "1 2 3\n4 5 6\n7 8 9\n10 11 12" output = "1 4 7 10\n2 5 8 11\n3 6 9 12" - assert_equal output, transport(input) + assert_equal output, transpose(input) end end