오늘의 주제도 배열!
문제
입력과 출력
코드
class Solution:
def numIdenticalPairs(self, nums: List[int]) -> int:
cnt=0
for i in range(len(nums)):
for j in range(i+1,len(nums)):
if nums[i]==nums[j]:
cnt+=1
return cnt
같은수로 짝을 지을 수 있는 케이스를 찾아야 하므로
i는 0부터 nums의 길이만큼, j는 i의 다음 수부터 nums의 길이만큼 반복문을 수행하며 i번째 요소와 j번째 요소가 같을 때, cnt를 1씩 더해준다.
오늘도 시간 인증 ~!!
히히
시행착오가 없었지만 런타임이 조금 긴편인것 같았다.
그래서 찾아봤는데 다르게 푼 사람이 보이지 않았다....
뭔가 중복인 것의 개수를 알아내서 확통에서 썼던 것처럼 n(n-1)/2 를 할 수는 없을까?!
했는데... 음
중복이 있다는 걸 알려면 count로 요소를 찾거나... set으로 중복을 제거하거나 인데.. 둘다 이 문제에서 쓸 수 있는 방법은 아닌 것 같았다...
오늘도 미들러 문제를 도전하러 간다 히히