Programmers:フルコースを走っていない選手
5744 ワード
ソース:https://programmers.co.kr/learn/courses/30/lessons/42576
問題の説明
多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
アイデア
コード#コード#
Mine
def solution(participant, completion):
participant.sort()
completion.sort()
answer = ''
for i in range(len(completion)):
if participant[i] != completion[i]:
answer = participant[i]
break
if answer == '':
answer = participant[-1]
return answer
Answer_1 (collections.counter)
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
Answer_2 (hash)
def solution(participant, completion):
answer = ''
temp = 0
dic = {}
for part in participant:
dic[hash(part)] = part
temp += int(hash(part))
for com in completion:
temp -= hash(com)
answer = dic[temp]
return answer
改善
collection.Counter()
同じ値に何個のデータがあるかを決定するオブジェクト.
ソース:https://excelsior-cjh.tistory.com/94
Reference
この問題について(Programmers:フルコースを走っていない選手), 我々は、より多くの情報をここで見つけました https://velog.io/@rlawlsgus117/Programmers-완주하지-못한-선수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol