본문 바로가기
프로그래밍/알고리즘

프로그래머스 - 완주하지 못한 선수 파이썬

by 숙님 2023. 4. 26.
728x90

문제 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

운동선수들이 많이 신는다는 나이키 에어 줌 페가수스... 오늘 구매했다

오늘 나이키 매장에 갔는데 '나이키 에어 줌 페가수스 40'은 진짜 착화감이 짱이었다 

다른 거 신어보고 마지막에 신어봤는데 '와.. 다르다'는 것이 느껴졌고 바로 구매했다 

역시 족저근막염 환자분들, 많은 운동선수들이 신는다는데 이유가 있었다 

 

풀이 

1. 해시를 활용한 방법 

def solution(participant, completion):
    hashDict = {}
    sumHash = 0
    
    for part in participant:
        hashDict[hash(part)] = part
        sumHash += hash(part)
    
    for comp in completion:
        sumHash -= hash(comp)

    return hashDict[sumHash]

 

2. 반복문을 활용하는 방법 

def solution(participant, completion):
    answer = ''

    participant.sort()
    completion.sort()

    for i in range(len(completion)):
        if(participant[i] != completion[i]):
            return participant[i]

    return participant[len(participant)-1]

 

3. Counter 활용하는 방법 

from collections import Counter

def solution(participant, completion):
	answer = Counter(participant) - Counter(completion)
    return list(answer.keys())[0]

 

댓글