일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- easy
- LeetCode
- cpu scheduling
- 그리디
- docker
- Programmers
- Kotlin
- Observer Pattern
- Dynamic Programming
- Python
- 알고리즘
- 피보나치
- kubernetes
- KAKAO
- golang
- java
- github
- Singleton Pattern
- k8s
- GKE
- BubbleSort
- Backjoon
- GCP
- mobaXTerm
- Codility
- Top-down
- 백준
- go
- 파이썬
- Today
- Total
목록알고리즘/LeetCode (41)
To Be Developer
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ # 문제 설명 ''' input 으로 [-2^31, 2^31-1] 범위의 정수를 받는데 이 수를 거꾸로 뒤집어 표현하라. 단, 음수는 '-' 가 먼저 보이도록 하고, input 범위를 초과할 시 0 을 return 하라. 0이 맨 앞에 나올 경우 skip.. 하고 다음 숫자부터 표현. ''' rst = "" # 결과를 return할 변수 xStr = str(x) # input Data를 String 으로 여러번 변환하지 않기 위해 변수 선언 ln = len(xStr) # x의 길이 # ln-1 부터 0 번까지의 index를 1만큼 감소시키기 위한 for 문 for ..
class Solution(object): def twoSum(self, nums, target): """ :type numbers: List[int] :type target: int :rtype: List[int] """ # 문제설명 # 오름차순으로 정렬된 배열이 있다 # numbers의 원소 2개를 중복되지 않게 골라 더한 값이 # target 일 때 원소의 index를 list로 return 하라 # 단, index는 1부터 시작한다. ''' 초기 접근법 단순하게 2중 for 문을 돌리면 될 것이라 생각을 하였다. ''' ''' ln = len(nums) for i in range(ln-1): for j in range(i+1, ln): if nums[i]+nums[j] == target: retu..
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. 반복문을 불가피하게 돌려야 되는데 이왕이면 딕셔너리가 적게 만들어지는 쪽을 판단하는 것이 좋겠다는 생각이 든다. 배열의 길이를 비교 한뒤 적은 쪽을 딕셔너리로 만든다. '..
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ # input Data 는 비어 있지 않는 리스트 형태이다. # 리스트 안의 원소를 같은 것의 수를 카운트 한 후 # 카운트 숫자가 한 개인 원소의 값을 리턴 시킨다. # input Data 가 [2, 2, 1] 이라고 가정하고 풀어보자 # 각 숫자들의 정보를 집어 넣을 비어있는 리스트를 준비 lst = [] # 매개변수가 int를 원소로 가지고 있는 List 형태이다. # 매개변수 nums를 for 문으로 하나하나 원소를 꺼낸다. for i in nums: # 리스트 안의 원소를 카운트 할 것이기 때문에 # keys = 'num' :..