////////
Search
🏃

완주하지 못한 선수

문제

풀이

def solution(participant, completion): answer = 0 list = participant + completion dict = { i: 0 for i in list } for i in list: dict[i] += 1 for key,value in dict.items(): if not (value%2 ==0): return key
Python
복사

배운점

항상 딕셔너리를 사용 하게 되면 초기화 방법을 항상 검색 하게 된다. 이번 기회에 초기화 방법을 익혀두어야겠다!
위의 코드는 딕셔너리 컴프리헨션을 사용했다. 만약 딕셔너리가 아닌 2중for문으로 문제를 해결 하려 했다면 효율성 테스트를 통과하지 못했을 것이다. 또한 set으로 풀려고 했다가 중복을 생각하지 못한 경우도 있었다.
이렇게 효율성을 생각 해야 하는 검색 문제는 해쉬 테이블을 꼭 생각 해야 할 듯!

딕셔너리의 초기화방법

1.
없으면 0 있으면 +1을 해라
for a in participant: result[a] = result.get(a,0) + 1
Python
복사
2.
Dictionary Comprehesion(딕셔너리 컴프리헨션)
dictionary = {string : 0 for string in string_list}
Python
복사
응용- enumerate사용
dictionary = {string : i for i,string in enumerate(string_list)}
Python
복사
3.
fromkeys사용
dictionary = dict.fromkeys(string_list,0) #{'A': 0, 'B': 0, 'C': 0} dictionary = dict.fromkeys(string_list,0) #{'A': None, 'B': None, 'C': None}
Python
복사