728x90

전체 글 67

[Python] 1299. Replace Elements with Greatest Element on Right Side

난이도 : easy index가 i일 때, i+1부터 끝까지 수 중 가장 큰 값을 arr[i]로 바꿔주는 문제return은 arr로만 진행 class Solution: def replaceElements(self, arr: List[int]) -> List[int]: for i in range(len(arr)-1): arr[i] = max(arr[i+1:]) arr[-1] = -1 return arr처음 풀었던 방법말 그대로 max값으로 바꿔주고, 마지막 줄을 -1로 바꾸는 형식하지만 time limit에 걸렸다.. class Solution: def replaceElements(self, arr: List[int]) -> List[in..

[Python] 1462. Course Schedule IV

난이도 : medium 총 길이가 numCourses인 코스에서 prerequisites라는 path 대로 갈 수 있을 때, queries의 요소들이 각각 이동할 수 있는지 True와 False을 return하는 문제. from collections import defaultdictclass Solution: def checkIfPrerequisite(self, numCourses: int, prerequisites: List[List[int]], queries: List[List[int]]) -> List[bool]: graph = defaultdict(list) for pre, post in prerequisites: graph[pre]..

[Python] 1346. Check If N and Its Double Exist

난이도 : easy arr에 있는 요소 중 2배인 원소가 있으면 true를 returnclass Solution: def checkIfExist(self, arr: List[int]) -> bool: ans = [] for i in arr: if i * 2 in ans or i / 2 in ans: return True ans.append(i) return Falseans라는 리스트를 설정하고, ans 리스트 내에 2배나 1/2인 원소가 있으면 true를 return.중복되지 않도록 일부러 if문 뒤에 append를 추가 Runtime : 3ms (42.22%)Memory : 18.05MB (6...

[Python] 2425. Bitwise XOR of All Pairings

난이도 : Medium 양수로만 구성된 num1와 num2라는 배열이 있는데, 두 배열의 요소들을 하나씩 XOR 취한 것을 num3로 취한다.이 num3의 요소를 또, 전부 XOR 취한 값을 계산하는 문제 from functools import reduceclass Solution: def xorAllNums(self, nums1: List[int], nums2: List[int]) -> int: ans = [x ^ y for x in nums1 for y in nums2] return reduce(lambda x, y : x ^ y, ans)이렇게 정석적으로 풀었더니, Memory limit에 걸렸다.. 하하  이 문제를 풀기 위해서는 먼저 XOR의 특성이 중요한데, XO..

728x90