Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Real or Not? NLP with Disaster Tweets
- leetcode
- Docker
- 편스토랑 우승상품
- hackerrank
- AI 경진대회
- 백준
- 편스토랑
- 데이콘
- ChatGPT
- Git
- 우분투
- 코로나19
- 프로그래머스 파이썬
- 자연어처리
- dacon
- 캐치카페
- 금융문자분석경진대회
- programmers
- PYTHON
- Kaggle
- 파이썬
- github
- 프로그래머스
- gs25
- SW Expert Academy
- 맥북
- ubuntu
- Baekjoon
- 더현대서울 맛집
Archives
- Today
- Total
솜씨좋은장씨
[leetCode] 2215. Find the Difference of Two Arrays (Python) (feat.ChatGPT) 본문
Programming/코딩 1일 1문제
[leetCode] 2215. Find the Difference of Two Arrays (Python) (feat.ChatGPT)
솜씨좋은장씨 2023. 3. 26. 15:19728x90
반응형
코딩 1일 1문제! 오늘의 문제는 leetCode 의 Find the Difference of Two Arrays 입니다.
👨🏻💻 문제 풀이
set 을 활용하여 A 와 B의 차집합을 구하는 방식으로 문제를 풀었습니다.
👨🏻💻 코드 ( Solution ) - SOMJANG
class Solution:
def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
answer_1 = list(set(nums1) - set(nums2))
answer_2 = list(set(nums2) - set(nums1))
return [answer_1, answer_2]
👨🏻💻 코드 ( Solution ) - SOMJANG - 변수에 저장하지 말고 그대로 return 하면 어떨까?
class Solution:
def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
return [list(set(nums1) - set(nums2)), list(set(nums2) - set(nums1))]
변수명 저장 방식 변경은 생각보다 별다른 변화가 없었습니다.
👨🏻💻 코드 ( Solution ) - ChatGPT - 1회차
class Solution:
def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
set1 = set(nums1)
set2 = set(nums2)
return [list(set1 - set2), list(set2 - set1)]
그래서 이번에는 ChatGPT 에게 풀어보라고 하였습니다.
ChatGPT 는 nums1 과 nums2 의 set 을 미리 만들고 이를 연산한 값을 return 하도록 한 방법으로
결과는 별로 다르지 않았습니다.
👨🏻💻 코드 ( Solution ) - ChatGPT - 2회차 - 메모리 사용량을 줄이는 방법을 알려줘
class Solution:
def findDifference(self, nums1: List[int], nums2: List[int]) -> List[List[int]]:
res = [[], []]
set1 = set(nums1)
set2 = set(nums2)
for num in set1:
if num not in set2:
res[0].append(num)
for num in set2:
if num not in set1:
res[1].append(num)
return res
이번에는 메모리 사용량을 줄여서 할 수 있는 방법을 알려줘! 라고 물어보았는데
정답의 form 을 미리 res 라는 변수로 만들어 주고
set 반복문을 돌면서 in 으로 체크하고 없는 값만 append 하도록 한 방식이었습니다.
결과는 ! 0.1 MB 정도 덜 사용하고 시간은 비슷한 걸 보면 크게 다르지 않은 것 같았습니다.
읽어주셔서 감사합니다.
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
Comments