例外処理のタブーサーチ (paizaランク B 相当) Python
例外処理のタブーサーチ | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】
いつもお世話になってるpaizaさんの問題集をがんばって解いたので、コードを残しておきます。
お手本コードは15行、ネットで検索したら8行で実現されているコードがありました。怖いね
私はまだまだ初心者なので、今回のはPythonのスーパーコードを使わずに基本を重ねて地道に書いた、計26行のコードです。
私と同じ初心者さんには参考になるかも?
数年後には笑って読めるようになってたいな~
info = input().split() command_num = int(info[0]) parameter_array_num = int(info[1]) time_data_lengs = int(info[2]) parameter_list = [[0 for _ in range(parameter_array_num)] for _ in range(command_num)] command_amount_list = [i + 1 for i in range(command_num)] time_data_list = [[0 for _ in range(parameter_array_num)] for _ in range(time_data_lengs)] answer_list = [[0 for _ in range(parameter_array_num)] for _ in range(time_data_lengs - 1)] #make parameter information dictionary for i in range(command_num): parameter_list[i] = input() command_dictionary = dict(zip(parameter_list, command_amount_list)) #print(command_dictionary) #make time data two-dimensional list for i in range(time_data_lengs): time_data_list[i] = input().split() #print(time_data_list) #cleate answer_list calculate n + 1 and n line difference from time_data_list for i in range(time_data_lengs - 1): for j in range(parameter_array_num): difference = int(time_data_list[i + 1][j]) - int(time_data_list[i][j]) answer_list[i][j] = difference #print(answer_list) #comparing with dictionary s = "" for i in answer_list: for j in range(parameter_array_num): if j == parameter_array_num -1: s = s + str(i[j]) else: s = s + str(i[j]) + " " # print(s) print(command_dictionary[s]) s = ""