裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

添え字の検索

2014年10月31日 | ブログラミング

プログラムの冒頭に示すような,1 文字を要素とする 20×20 の行列がある。

"STAY HUNGRY, STAY FOOLISH" の各文字が,行列のどこにあるか,添え字を求めよ。

ただし,一度検索された要素(添え字)は二度目以降は検索対象にならない。

box <- matrix(c(
"Z","T","A","V","O","J","Z","G","W","L","M","A","W","B","Y","I","M","D","K","Y",
"P","G","P","N","C","Q","E","R","I","Q","I","T","O","K","H","F","T","O","Z","Z",
"D","T","S","E","L","F","N","O","L","H","Z","K","L","N","F","D","J","C","G","A",
"A","E","U","J","U","I","N","Z","D","T","D","U","W","J","O","N","C","S","L","H",
"Z","W","E","F","G","Z","B","R","I","O","T","U","N","B","O","G","N","U","Z","Y",
"U","Y","C","O","C","P","Z","G","W","C","O","D","J","X","J","L","F","V","J","H",
"D","B","K","Q","I","J","M","Q","X","P","U","P","Z","G","C","G","S","M","I","P",
"F","E","N","Q","R","Z","T","B","U","J","T","M","E","B","U","T","N","F","E","Y",
"R","E"," ","Y","D","G","B","A","C","F","B"," ","A","B","W","X","U","J","A","Z",
"M","D","O","W","W","X","S","C","O","E","J","W","N","L","U","F","E","X","H","X",
"E","F","O","F","W","P","V","R","U","I","G","R","E","Z","W","O","U","G"," ","E",
"W","I","M","V","D","Q","V","S","I","Y","Y","B","R","Z","O","Y","S","U","W","Y",
"D",",","A","G","U","F","L","Z","L","N","X","O","E","Q","J","X","E","G","H","E",
"O","N","E","M","V","J","Z","N","C","Q","P","Z","K","W","F","M","V","K","Y","M",
"M","B"," ","H","R","M","L","S","T","I","A","O","O","O","O",",","E","H","M","E",
"I","U","O","Q","B","J","Z","N","Q","N","Q","H","U","D","Y","J","A","B","I","P",
"X","K","K","I","S","H","Z","H","D","L","Z","O","J","N","P","C","W","O","O","R",
"L","Y","Y","M"," ","B","N","T","K","X","C"," ","S","B","K","H","R","W","M","D",
"V","N","U","L","L","Z","M","I","O","G","S","M","P","U","E","P","E","O","A","C",
"R","E","T","L","F","S","D","T","Q"," ","U","P","Y","K","A","F","P","G","W","O"),
ncol=20, byrow=TRUE)
types = unlist(strsplit("STAY HUNGRY, STAY FOOLISH", ""))
for (i in seq_along(types)) {
  ans = which(types[i] == box, arr.ind=TRUE)[1, , drop=FALSE]
  box[ans] = ""
  print(c(ans))
}

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 最適な組合せ | トップ | 覆面算 »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事