teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

テキスト修正

2018/02/27 03:25

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -17,4 +17,18 @@
17
17
  result = ary.each_cons(2).map { |e| e[0]-e[1] }.inject &:+
18
18
 
19
19
  puts result
20
- ```
20
+ ```
21
+
22
+ **追記**
23
+
24
+ 失礼しました。
25
+ 欲しいのは差の絶対値の総和ですね。
26
+ であれば、上記のコードで、
27
+ ```ruby
28
+ e[0]-e[1]
29
+ ```
30
+ としているところを
31
+ ```ruby
32
+ (e[0]-e[1]).abs
33
+ ```
34
+ とします。

1

テキスト修正

2018/02/27 03:25

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -7,4 +7,14 @@
7
7
  result = ary.each_cons(2).map {|e| e[0]-e[1] }.inject &:+
8
8
 
9
9
  puts result # => (2-5) + (5-3) + (3-7) + (7-9) + (9-10) = -3+2-4-2-1 = -8
10
+ ```
11
+
12
+ 標準入力から、各行に数字が入ってくる場合は以下でいけるかと思います。
13
+
14
+ ```ruby
15
+ ary = STDIN.read.each_line.map { |line| line.to_i }
16
+
17
+ result = ary.each_cons(2).map { |e| e[0]-e[1] }.inject &:+
18
+
19
+ puts result
10
20
  ```