[LeetCode] Number of Good Pairs
📃 문제 설명
Number of Good Pairs
👨💻 해결 방법
조합을 이용하여 풀었다.
짝을 찾기 위해서는 n개의 수 중에서 나를 제외한 n-1을 선택하는 경우의 수이기 때문에
nCn-1 을 구하면 된다.
조합을 직접 구할 필요는 없고 개수만 알면 되기 때문에,
딕셔너리를 이용해서 풀었다.
근데 풀고나서 다른 사람들의 코드를 기웃기웃 들여다봤는데,
나는 key에러를 방지하기 위해 배열의 원소가 딕셔너리에 있는지 없는지 직접 체크하면서 값을 저장해주었는데, 딕셔너리에 get()함수를 써서 풀면 더 편하다는 것을 배웠다.
딕셔너리에 존재하지 않는 key에 대해 dic[key]를 하면 keyerror가 뜨지만,
dic.get(key)를 해주면 None이 리턴되고 get에 두 번째 인자를 넣어주면 딕셔너리에 해당 key가 없을 때 인자값을 넣어준다.
그래서 아래처럼 짜면 훨씬 간편하다는 것을 배웠다
for n in nums:
dic[n] = dic.get(n, 0) + 1
꿀!
👨💻 소스 코드
class Solution:
def numIdenticalPairs(self, nums: List[int]) -> int:
dic = {}
res = 0
for n in nums:
if n in dic:
dic[n] += 1
else:
dic[n] = 1
for v in dic.values():
res += v*(v-1)//2
return res
Author And Source
이 문제에 관하여([LeetCode] Number of Good Pairs), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@choiyunh/1512.-Number-of-Good-Pairs
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Number of Good Pairs
조합을 이용하여 풀었다.
짝을 찾기 위해서는 n개의 수 중에서 나를 제외한 n-1을 선택하는 경우의 수이기 때문에
nCn-1 을 구하면 된다.조합을 직접 구할 필요는 없고 개수만 알면 되기 때문에,
딕셔너리를 이용해서 풀었다.근데 풀고나서 다른 사람들의 코드를 기웃기웃 들여다봤는데,
나는 key에러를 방지하기 위해 배열의 원소가 딕셔너리에 있는지 없는지 직접 체크하면서 값을 저장해주었는데, 딕셔너리에 get()함수를 써서 풀면 더 편하다는 것을 배웠다.딕셔너리에 존재하지 않는 key에 대해 dic[key]를 하면 keyerror가 뜨지만,
dic.get(key)를 해주면 None이 리턴되고 get에 두 번째 인자를 넣어주면 딕셔너리에 해당 key가 없을 때 인자값을 넣어준다.그래서 아래처럼 짜면 훨씬 간편하다는 것을 배웠다
for n in nums: dic[n] = dic.get(n, 0) + 1
꿀!
👨💻 소스 코드
class Solution:
def numIdenticalPairs(self, nums: List[int]) -> int:
dic = {}
res = 0
for n in nums:
if n in dic:
dic[n] += 1
else:
dic[n] = 1
for v in dic.values():
res += v*(v-1)//2
return res
Author And Source
이 문제에 관하여([LeetCode] Number of Good Pairs), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@choiyunh/1512.-Number-of-Good-Pairs
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Solution:
def numIdenticalPairs(self, nums: List[int]) -> int:
dic = {}
res = 0
for n in nums:
if n in dic:
dic[n] += 1
else:
dic[n] = 1
for v in dic.values():
res += v*(v-1)//2
return res
Author And Source
이 문제에 관하여([LeetCode] Number of Good Pairs), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@choiyunh/1512.-Number-of-Good-Pairs저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)