回答編集履歴

2

2024/03/05 09:34

投稿

melian
melian

スコア19849

test CHANGED
@@ -1,4 +1,13 @@
1
+ 最初にリストから敗者を削除して、勝者の次の位置に敗者を挿入するという方法が考えられます。
1
- ※ 間違いのため削除
2
+ ```ruby
3
+ players = [1, 2, 3, 4, 5]
2
4
 
5
+ ARGF.each do |line|
6
+ winner, loser = line.split.map(&:to_i)
7
+ players.delete(loser)
8
+ players.insert(players.index(winner)+1, loser)
9
+ end
3
10
 
11
+ print(players)
12
+ ```
4
13
 

1

2024/03/05 09:07

投稿

melian
melian

スコア19849

test CHANGED
@@ -1,14 +1,4 @@
1
- 勝者と敗者の位置(index)を入れ替える、という方法が考えられます。
2
- ```ruby
1
+ ※ 間違いのため削除
3
- players = [1, 2, 3, 4, 5]
4
2
 
5
- ARGF.each do |line|
6
- winner, loser = line.split.map(&:to_i)
7
- idx_winner = players.index(winner)
8
- idx_loser = players.index(loser)
9
- players.insert(idx_winner+1, players.delete_at(idx_loser))
10
- players.compact!
11
- end
12
3
 
13
- print(players)
4
+
14
- ```