일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Dynamic Programming
- k8s
- LeetCode
- 알고리즘
- Kotlin
- go
- Singleton Pattern
- github
- cpu scheduling
- java
- 피보나치
- Backjoon
- Programmers
- BubbleSort
- docker
- GKE
- Observer Pattern
- Top-down
- mobaXTerm
- golang
- kubernetes
- Python
- easy
- 백준
- 파이썬
- 그리디
- KAKAO
- GCP
- Codility
- Today
- Total
목록LeetCode (37)
To Be Developer
class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ # 음수이면 무조건 False if x =0 and x
class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ # 비어있는 딕셔너리 변수 선언 dic = {} # 파라미터 nums 를 하나하나 돌려본다. for i in nums : # 만약 dicCount 의 return 값이 True 이면 중복임 if self.dicCount(dic, i) == True: # 더 이상 진행할 필요없으므로 return True return True # 반복문을 무사히 빠져나오면 중복된 적이 없으므로 False return False # [{num, count}] def dicCount(self, dic, key): # 이미 존재하는 키이면 value..
class Solution(object): def reverseWords(self, s): """ :type s: str :rtype: str """ # return 할 변수 answer = "" # 빈 공간으로 단어를 구분하여 words 라는 리스트 변수에 대입 words = s.split(" ") # list에서 "" 문자를 제거하여 다시 word 에 대입 words = [i for i in words if i!=""] # words 의 길이 ln = len(words) # index 마지막부터 0번까지 반복문을 돌림 for i in range(ln-1, -1, -1): # index 값이 마지막이 아니면 words[i] + " " 을 # 그렇지 않으면 answer에 words[i]를 추가 if i ..
class Solution(object): def rotate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: None Do not return anything, modify nums in-place instead. """ # 문제 설명 ''' nums 배열이 input으로 주어지는데 뒤에서 부터 k 개를 꺼내 앞으로 붙여라 ex) nums = [1,2,3,4,5,6,7] k = 3 step 1 : [7,1,2,3,4,5,6] step 2 : [6,7,1,2,3,4,5] step 3 : [5,6,7,1,2,3,4] ''' # nums 의 길이를 구한다 ln = len(nums) # k 번 반복하여 nums의 맨 마지막 원소를 꺼내 # 0번 ..
class Solution(object): def matrixReshape(self, nums, r, c): """ :type nums: List[List[int]] :type r: int :type c: int :rtype: List[List[int]] """ # 문제 설명 ''' 3차원 배열이 주어진다. 면 안에 2차원 배열을 r행 * c열 배열로 형태로 재구성하고 3차원 형태로 return 시켜라. 원하던 배열로 재구성이 되지 않았으면 input 배열 그대로 return 시켜라. ''' # 결과 값을 리턴할 비어있는 list rst = [] # nums 안에 있는 원소들을 1차원 형태로 재배치하려 이용할 list itList = [] for i in nums: for j in i: itList.ap..
class Solution(object): def intersection(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ # 문제 소개 ''' 두 개의 배열이 주어지는데, 배열의 교집합을 구하는 funtion을 작성하라 ''' # 초기 접근법 ''' 1. 저는 딕셔너리를 선호하기 때문에 배열 안의 원소를 key 값을 가지고, 그 원소가 겹친다면 True 인 딕셔너리 변수를 만들어 교집합을 만들 것이라 설계를 한다. 2. 반복문을 불가피하게 돌려야 되는데 이왕이면 딕셔너리가 적게 만들어지는 쪽을 판단하는 것이 좋겠다는 생각이 든다. 배열의 길이를 비교 한뒤 적은 쪽을 딕셔너리로 만든다. '..