일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- cpu scheduling
- 백준
- Top-down
- github
- kubernetes
- k8s
- docker
- 그리디
- mobaXTerm
- KAKAO
- Python
- Observer Pattern
- GCP
- 피보나치
- Singleton Pattern
- easy
- Backjoon
- java
- GKE
- Kotlin
- go
- Programmers
- Codility
- LeetCode
- Dynamic Programming
- 파이썬
- BubbleSort
- golang
- Today
- Total
목록알고리즘 (59)
To Be Developer
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..
# 인풋 데이터를 엔터로 세 번 받아야 하므로 # 컴프리헨션으로 input Data 를 3번 받아 inData 변수에 삽입한다. inData = [int(input()) for i in range(3)] # input으로 받은 3개의 데이터 곱의 정보를 받을 변수 선언 rstNum = 1 # inData 안의 원소를 하나씩 불러와 rstNum 에 곱한다. for i in inData: rstNum = rstNum * i #cntNum 0 부터 9까지 몇번 나왔는지 카운트 할 변수를 만듬 # 0 1 2 3 4 5 6 7 8 9 # [0,0,0,0,0,0,0,0,0,0] cntNum = [0 for i in range(10)] # 곱한값(rstNum)을 문자열로 형변환하여 문자하나하나 검사하여 # cntNu..
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' :..