エレベーターの階数計算の問題(Ruby編)
問題
エレベーターが何階分の距離を動いたか計算するプログラムを完成させてください。
ただし、エレベーターは最初は必ず 1 階にいるものとします。
例
1階から3階へ → 2階分移動したことになるので合計2階分
3階から1階へ → 2階分移動したことになるので合計4階分
1階から4階へ → 3階分移動したことになるので合計7階分
入力される値
入力は以下のフォーマットで与えられます。
N
f_1
...
f_N
・1 行目にログの行数を示す整数 N が入力が与えられます。
・続く N 行にエレベーターが止まった階 f_i (1 ≦ i ≦ N) が整数で順に入力されます。
・入力は合計で N+1 行であり、最終行の末尾に改行が 1 つ入ります。
期待する出力
エレベーターが何階分を動いたかを整数で出力してください。
入力例1
3
3
1
4
出力例1
7
私の答え(有志のサイトをみて参考にしました)
n = gets.to_i
i = 1
s = 0
n.times {
a = gets.to_i
s += (a - i).abs
i = a
}
puts s