본문 바로가기
스터디/알고리즘

완주하지 못한 선수

by 세졍 2024. 1. 8.

 

정렬풀이

1. 참여자와 완주자배열 sort로 정렬하기

2. 완주자는 1명이 적으므로 return값은 무조건 한명이다

3.참여자배열이 빌때까지 while문사용 

4. 각 배열에서 pop()사용해서 비교하기 - > 다르면 그사람이 완주하지못한사람

5. 계속 일치하면 정렬한 참여자배열의 마지막 사람이 완주하지 못한것임

 

 

 

 

해시풀이

1. 참가자선수들 배열을 돌면서 {'이름': 몇명인지} 이런 해쉬맵생성

2. 완주한선수 배열을 돌면서 위에서 생성한 해쉬맵에서 몇명수를 1 빼기

3. 수가 0이아니라면 그사람출력

participant = ["mislav", "stanko", "mislav", "ana"]
completion = ["stanko", "ana", "mislav"]
hashmap = {}

for i in participant:
    if i not in hashmap:
        hashmap[i] = 1
    else:
        hashmap[i] += 1
# print(hashmap)  {'leo': 1, 'kiki': 1, 'eden': 1}

for i in completion:
    hashmap[i] -= 1
# print(hashmap) {'mislav': 1, 'stanko': 0, 'ana': 0}

for i in hashmap.items():
    if i[1] != 0:
        print(i[0])

'스터디 > 알고리즘' 카테고리의 다른 글

[2178] 미로 탐색  (1) 2024.01.09
전화번호 목록  (2) 2024.01.09
폰켓몬  (2) 2024.01.08
[1049] 기타줄  (0) 2024.01.08
[3085] 사탕게임  (0) 2024.01.08