많은 분들이 처음에 떠올렸을 것 같기도 하고 저 또한 처음에 딱 떠올랐던 방법인데
아마도 대부분 participant의 모든 값과 completion의 모든 값을 비교하여
participant에는 있지만 completion에는 없는 값을
반환하는 방법으로 많이들 떠올리셨을 것 같은데
틀린 방법은 아니지만 이 문제에 해시라고 태그가 되어있는 만큼
Hash함수를 이용하여 문제를 푸는 것이 문제의 요구에 맞는 것이 아닐까 싶습니다.
아래는 제가 작성한 코드입니다!~
이번 문제에서 중요한 핵심은 HashMap을 이용하여
선언된 변수에다가
participant 배열의 각 값들을 할당한 값들을 map에 넣고
completion배열도 똑같이 map에 넣어서 겹치는 값들을 하나씩 지워가는 것인데요
자세히 설명해보자면,
participant의 값들을 추가했을 때 이미 그 값이 있다면 그대로 그 값을 반환하고
없다면 기본값인 0에다가 1을 더한 1을 반환하게 하고나서
completion의 값들을 처음부터 끝까지 순회하면서 기존에 추가되어있던 값들을
하나씩 줄여가는 것입니다.
문제에서는 전체 참가자 중 한 명만 완주를 하지 못 한다고 했습니다.
따라서, map변수의 값 중에서 1인 값은 1개밖에 없게 되고 1이라는 값을 가진
1개의 name값이 전체 참가자 중 완주하지 못 한 유일한 한 사람이 되겠습니다~~
'알고리즘' 카테고리의 다른 글
LEETCODE, Minimum Number (0) | 2024.07.10 |
---|---|
LEETCODE, Valid Parenthesis (0) | 2024.07.10 |
프로그래머스, 같은 숫자는 싫어 (0) | 2024.07.10 |
프로그래머스, 폰켓몬 (0) | 2024.07.10 |
LEETCODE, Count Pairs Whose Sum is Less than Target (0) | 2024.07.10 |