Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
デレステの劇場で登場したアイドルの回数を調べる(2017.2.25時点)
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# 基準
# - プロデューサーは数えない
# - ちひろさんは数える
# - セリフのみの登場も数える
require 'yaml'
# YAMLを読み込む。
# {アイドル名 =>
# [[登場アイドル1, 登場アイドル2, ...],
# [登場アイドル1, 登場アイドル2, ...], ...]}
# (一人につき劇場が2つ以上存在する場合もあるため、配列の配列となっている)
info = YAML.load(DATA.read)
# {"登場アイドル" => ["登場先1", "登場先2", ...], ...} の形の連想配列にする
appearances = {}
info.each_pair do |idol_name, stories|
stories.each_with_index do |story, idx|
story.each do |appearing_idol_name|
appearances[appearing_idol_name] ||= []
appearances[appearing_idol_name] << "#{idol_name}#{idx > 0 ? idx+1 : ''}"
end
end
end
# 名前の誤入力チェック
#unexpected_idol_names = (appearances.keys - info.keys - ["ベテラントレーナー"])
#unless unexpected_idol_names.empty?
# STDERR.puts "Unexpected name(s): #{unexpected_idol_names.to_a.join(' ')}"
# exit
#end
# 回数順に並び替える
appearance_ranking = appearances.keys.sort_by{ |idol_name| -(appearances[idol_name].size) }
# 表示する
appearance_ranking.each do |idol_name|
puts "#{idol_name}: #{appearances[idol_name].size} (#{appearances[idol_name].join(', ')})"
end
__END__
"相原雪乃": [["日野茜", "槙原志保", "小日向美穂"]]
"赤西瑛梨華": [["キャシー・グラハム", "高垣楓"]]
"浅野風香": [["鷺沢文香"], ["綾瀬穂乃香"]]
"安部菜々": [[]]
"有浦柑奈": [[]]
"安斎都": [["鷺沢文香", "橘ありす", "氏家むつみ"]]
"五十嵐響子": [["松山久美子"]]
"池袋晶葉": [[]]
"一ノ瀬志希": [["三村かな子"]]
"今井加奈": [["矢口美羽"]]
"井村雪菜": [["横山千佳"]]
"江上椿": [["高森藍子"]]
"太田優": [["浅利七海", "双葉杏"], ["水木聖來", "渋谷凛"]]
"大西由里子": [["大槻唯", "藤本里奈"]]
"大沼くるみ": [[]]
"大原みちる": [["上条春菜"]]
"緒方智絵里": [["相葉夕美", "西園寺琴歌"]]
"奥山沙織": [["上条春菜"]]
"乙倉悠貴": [["小関麗奈"]]
"日下部若葉": [["原田美世"]]
"工藤忍": [["アナスタシア"]]
"クラリス": [["神崎蘭子"]]
"栗原ネネ": [["乙倉悠貴", "小関麗奈"]]
"古賀小春": [[]]
"輿水幸子": [[]]
"小早川紗枝": [["高垣楓"]]
"小日向美穂": [[]]
"西園寺琴歌": [["赤城みりあ", "城ヶ崎美嘉"], ["涼宮星花", "水本ゆかり"]]
"榊原里美": [["三村かな子"]]
"佐久間まゆ": [["島村卯月"]]
"櫻井桃華": [[]]
"椎名法子": [["三村かな子"]]
"島村卯月": [["渋谷凛", "本田未央"]]
"白菊ほたる": [["道明寺歌鈴"]]
"涼宮星花": [["松山久美子", "木村夏樹", "小日向美穂"]]
"関裕美": [["上条春菜"]]
"月宮雅": [["千川ちひろ"]]
"道明寺歌鈴": [["高垣楓"]]
"長富蓮実": [["島村卯月", "月宮雅"]]
"中野有香": [["椎名法子", "水本ゆかり"]]
"丹羽仁美": [["片桐早苗"]]
"早坂美玲": [["市原仁奈", "神崎蘭子"]]
"原田美世": [[]]
"兵藤レナ": [["堀裕子"]]
"福山舞": [["横山千佳"]]
"藤本里奈": [["向井拓海"]]
"双葉杏": [[]]
"前川みく": [["島村卯月", "渋谷凛"]]
"松原早耶": [["今井加奈"]]
"間中美里": [["伊集院惠", "並木芽衣子", "小日向美穂"]]
"水本ゆかり": [["椎名法子", "中野有香"]]
"三村かな子": [["十時愛梨"]]
"宮本フレデリカ": [["塩見周子"]]
"棟方愛海": [[]]
"村松さくら": [["大石泉", "土屋亜子"]]
"持田亜里沙": [["島村卯月", "渋谷凛"]]
"桃井あずき": [["綾瀬穂乃香"]]
"楊菲菲": [["脇山珠美", "浜口あやめ"]]
"柳清良": [["双葉杏", "三好紗南"]]
"柳瀬美由紀": [["綾瀬穂乃香"]]
"遊佐こずえ": [["白坂小梅"], ["双葉杏"]]
"横山千佳": [["神谷奈緒", "荒木比奈", "小日向美穂"]]
"相川千夏": [["大槻唯"]]
"浅利七海": [[]]
"アナスタシア": [["新田美波"]]
"綾瀬穂乃香": [["桃井あずき"]]
"荒木比奈": [["松本沙理奈"]]
"伊集院惠": [[]]
"氏家むつみ": [["乙倉悠貴", "白菊ほたる"]]
"梅木音葉": [["高森藍子", "本田未央"]]
"大石泉": [["八神マキノ"]]
"岡崎泰葉": [["片桐早苗"]]
"上条春菜": [["荒木比奈", "松本沙理奈", "川島瑞樹", "佐々木千枝"]]
"神谷奈緒": [["北条加蓮", "渋谷凛"]]
"川島瑞樹": [["城ヶ崎美嘉", "北条加蓮"]]
"神崎蘭子": [[]]
"岸部彩華": [["月宮雅", "衛藤美紗希", "安部菜々"]]
"木場真奈美": [["前川みく"]]
"桐野アヤ": [["小松伊吹"]]
"桐生つかさ": [[], []]
"黒川千秋": [[]]
"ケイト": [["白坂小梅"]]
"小室千奈美": [["松山久美子", "浜川愛結奈"]]
"鷺沢文香": [["横山千佳", "龍崎薫", "赤城みりあ", "三村かな子"]]
"佐々木千枝": [["安部菜々"]]
"佐城雪美": [["佐々木千枝"]]
"塩見周子": [["宮本フレデリカ"]]
"篠原礼": [[]]
"渋谷凛": [["北条加蓮"]]
"白坂小梅": [[]]
"瀬名詩織": [["前川みく"]]
"高垣楓": [["多田李衣菜"]]
"高橋礼子": [["川島瑞樹"]]
"鷹富士茄子": [[]]
"高峯のあ": [["神崎蘭子", "二宮飛鳥", "本田未央"]]
"多田李衣菜": [["木村夏樹"]]
"橘ありす": [["アナスタシア"]]
"東郷あい": [["龍崎薫"], ["榊原里美", "及川雫"]]
"成宮由愛": [["安部菜々"]]
"西川保奈美": [["ベテラントレーナー"]]
"新田美波": [["アナスタシア", "川島瑞樹"]]
"二宮飛鳥": [["橘ありす"]]
"服部瞳子": [["川島瑞樹", "安部菜々", "千川ちひろ"]]
"速水奏": [["安部菜々"]]
"柊志乃": [[]]
"藤居朋": [[]]
"藤原肇": [["及川雫"]]
"古澤頼子": [["吉岡沙紀", "成宮由愛"]]
"ヘレン": [[]]
"北条加蓮": [["神谷奈緒"]]
"松尾千鶴": [[]]
"松永涼": [["白坂小梅"]]
"松本沙理奈": [["佐々木千枝", "川島瑞樹"]]
"水木聖來": [["及川雫", "一ノ瀬志希"]]
"水野翠": [[]]
"三船美優": [["市原仁奈"]]
"望月聖": [["梅木音葉", "クラリス", "アナスタシア"]]
"森久保乃々": [["双葉杏", "星輝子", "千川ちひろ"]]
"八神マキノ": [["高垣楓"]]
"大和亜季": [["姫川友紀"]]
"結城晴": [["姫川友紀"]]
"吉岡沙紀": [[]]
"ライラ": [["双葉杏", "アナスタシア"]]
"脇山珠美": [["浜口あやめ"]]
"和久井留美": [["佐城雪美", "前川みく"]]
"愛野渚": [["西島櫂"]]
"相葉夕美": [[]]
"赤城みりあ": [["城ヶ崎美嘉"]]
"イヴ・サンタクロース": [["千川ちひろ"]]
"市原仁奈": [["安部菜々", "前川みく"], ["双葉杏"]]
"上田鈴帆": [["難波笑美"]]
"衛藤美紗希": [["鷺沢文香"]]
"海老原菜帆": [["榊原里美", "三村かな子"]]
"及川雫": [["片桐早苗"]]
"大槻唯": [["姫川友紀"]]
"片桐早苗": [["堀裕子"]]
"北川真尋": [["双葉杏"]]
"喜多日菜子": [["仙崎恵磨"]]
"喜多見柚": [["桃井あずき"]]
"木村夏樹": [["多田李衣菜"]]
"キャシー・グラハム": [["メアリー・コクラン"]]
"小関麗奈": [[]]
"小松伊吹": [["水木聖來"]]
"財前時子": [[]]
"斉藤洋子": [["若林智香"]]
"冴島清美": [["綾瀬穂乃香", "藤原肇", "赤城みりあ", "櫻井桃華"]]
"佐藤心": [[]]
"沢田麻理菜": [["原田美世", "藤本里奈", "佐藤心"]]
"首藤葵": [["前川みく", "ナターリア"]]
"城ヶ崎美嘉": [["城ヶ崎莉嘉"]]
"城ヶ崎莉嘉": [["城ヶ崎美嘉"]]
"杉坂海": [["藤居朋"]]
"仙崎恵磨": [["千川ちひろ"]]
"相馬夏美": [["並木芽衣子"]]
"高森藍子": [["日野茜", "本田未央"]]
"土屋亜子": [["村松さくら", "大石泉"]]
"十時愛梨": [["三村かな子", "川島瑞樹"]]
"ナターリア": [["前川みく"]]
"並木芽衣子": [["安部菜々"]]
"南条光": [["赤城みりあ", "佐々木千枝"]]
"難波笑美": [["前川みく", "緒方智絵里"]]
"西島櫂": [["三好紗南"]]
"野々村そら": [[]]
"浜川愛結奈": [["及川雫"]]
"浜口あやめ": [["堀裕子", "片桐早苗"]]
"日野茜": [["本田未央", "高森藍子"]]
"姫川友紀": [["片桐早苗", "高垣楓"]]
"星輝子": [["木村夏樹", "多田李衣菜"]]
"堀裕子": [[]]
"本田未央": [["千川ちひろ", "島村卯月", "渋谷凛"]]
"槙原志保": [["榊原里美", "三村かな子", "小日向美穂"]]
"松山久美子": [[]]
"的場梨沙": [["結城晴"]]
"真鍋いつき": [["ベテラントレーナー"]]
"三好紗南": [["双葉杏"]]
"向井拓海": [["本田未央"]]
"村上巴": [["横山千佳", "福山舞"]]
"メアリー・コクラン": [["大槻唯"], ["橘ありす", "高垣楓", "柊志乃"]]
"諸星きらり": [["双葉杏"]]
"矢口美羽": [["輿水幸子"]]
"依田芳乃": [["緒方智絵里"]]
"龍崎薫": [["福山舞"]]
"若林智香": [[]]
"千川ちひろ": [[], ["本田未央", "渋谷凛"]]
"エトセトラ": [["渋谷凛", "本田未央", "島村卯月"]]
Owner

maraigue commented Apr 21, 2016

実行結果

本田未央: 7 (島村卯月, 梅木音葉, 高森藍子, 日野茜, 向井拓海, 千川ちひろ, エトセトラ)
渋谷凛: 7 (島村卯月, 前川みく, 持田亜里沙, 神谷奈緒, 本田未央, 千川ちひろ, エトセトラ)
安部菜々: 5 (佐々木千枝, 成宮由愛, 速水奏, 市原仁奈, 並木芽衣子)
三村かな子: 5 (一ノ瀬志希, 榊原里美, 椎名法子, 鷺沢文香, 十時愛梨)
島村卯月: 5 (佐久間まゆ, 前川みく, 持田亜里沙, 本田未央, エトセトラ)
千川ちひろ: 4 (月宮雅, 森久保乃々, 仙崎恵磨, 本田未央)
前川みく: 4 (市原仁奈, 首藤葵, ナターリア, 難波笑美)
アナスタシア: 4 (工藤忍, 橘ありす, 新田美波, ライラ)
川島瑞樹: 4 (上条春菜, 新田美波, 松本沙理奈, 十時愛梨)
横山千佳: 4 (井村雪菜, 福山舞, 鷺沢文香, 村上巴)
片桐早苗: 4 (岡崎泰葉, 及川雫, 浜口あやめ, 姫川友紀)
城ヶ崎美嘉: 4 (西園寺琴歌, 川島瑞樹, 赤城みりあ, 城ヶ崎莉嘉)
双葉杏: 4 (森久保乃々, ライラ, 三好紗南, 諸星きらり)
高垣楓: 4 (小早川紗枝, 道明寺歌鈴, 八神マキノ, 姫川友紀)
北条加蓮: 3 (神谷奈緒, 川島瑞樹, 渋谷凛)
姫川友紀: 3 (大和亜季, 結城晴, 大槻唯)
佐々木千枝: 3 (上条春菜, 佐城雪美, 松本沙理奈)
多田李衣菜: 3 (高垣楓, 木村夏樹, 星輝子)
堀裕子: 3 (兵藤レナ, 片桐早苗, 浜口あやめ)
桃井あずき: 2 (綾瀬穂乃香, 喜多見柚)
市原仁奈: 2 (早坂美玲, 三船美優)
及川雫: 2 (藤原肇, 水木聖來)
木村夏樹: 2 (多田李衣菜, 星輝子)
椎名法子: 2 (中野有香, 水本ゆかり)
赤城みりあ: 2 (西園寺琴歌, 鷺沢文香)
大石泉: 2 (村松さくら, 土屋亜子)
龍崎薫: 2 (鷺沢文香, 東郷あい)
神崎蘭子: 2 (クラリス, 早坂美玲)
神谷奈緒: 2 (横山千佳, 北条加蓮)
荒木比奈: 2 (横山千佳, 上条春菜)
上条春菜: 2 (奥山沙織, 関裕美)
大槻唯: 2 (相川千夏, メアリー・コクラン)
緒方智絵里: 2 (難波笑美, 依田芳乃)
福山舞: 2 (村上巴, 龍崎薫)
松本沙理奈: 2 (荒木比奈, 上条春菜)
高森藍子: 2 (梅木音葉, 日野茜)
松山久美子: 1 (五十嵐響子)
八神マキノ: 1 (大石泉)
新田美波: 1 (アナスタシア)
小日向美穂: 1 (横山千佳)
綾瀬穂乃香: 1 (桃井あずき)
土屋亜子: 1 (村松さくら)
塩見周子: 1 (宮本フレデリカ)
宮本フレデリカ: 1 (塩見周子)
十時愛梨: 1 (三村かな子)
中野有香: 1 (水本ゆかり)
橘ありす: 1 (二宮飛鳥)
向井拓海: 1 (藤本里奈)
白坂小梅: 1 (松永涼)
一ノ瀬志希: 1 (水木聖來)
水本ゆかり: 1 (中野有香)
星輝子: 1 (森久保乃々)
道明寺歌鈴: 1 (白菊ほたる)
浜口あやめ: 1 (脇山珠美)
西園寺琴歌: 1 (緒方智絵里)
難波笑美: 1 (上田鈴帆)
仙崎恵磨: 1 (喜多日菜子)
水木聖來: 1 (小松伊吹)
ナターリア: 1 (首藤葵)
城ヶ崎莉嘉: 1 (城ヶ崎美嘉)
日野茜: 1 (高森藍子)
村松さくら: 1 (土屋亜子)
相葉夕美: 1 (緒方智絵里)
結城晴: 1 (的場梨沙)
矢口美羽: 1 (今井加奈)
輿水幸子: 1 (矢口美羽)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment