일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- Observer Pattern
- easy
- 알고리즘
- KAKAO
- GKE
- 파이썬
- docker
- Dynamic Programming
- 백준
- 그리디
- 피보나치
- Python
- kubernetes
- Singleton Pattern
- go
- BubbleSort
- Codility
- LeetCode
- GCP
- k8s
- Backjoon
- java
- golang
- Kotlin
- Top-down
- mobaXTerm
- cpu scheduling
- Programmers
- Today
- Total
목록알고리즘 (59)
To Be Developer
class Solution(object): def canThreePartsEqualSum(self, A): """ :type A: List[int] :rtype: bool """ # 배열을 3개의 합으로 나누려면 # 합은 3X 가 되어야 한다 # 리스트의 합을 구하고 3으로 나눈다. s = sum(A)/3 # part1 합 part1 = 0 # part2 합 part2 = 0 # part3 합 part3 = 0 for i in A: # part1 가 3 분의 1이 아니면 part1 에 i를 더함 if part1 != s : part1 += i # part2 가 3 분의 1이 아니면 part1 에 i를 더함 elif part2 != s : part2 += i # part3 이 합의 3 분의 1이 아니면 p..
class Solution(object): def findComplement(self, num): # 2진수를 2^0 ~ 2^n 까지 저장할 배열 변수 bi = [] # num 이 0 이 될때까지 반복을 돌림 while num!=0: # 2로 나눈 나머지를 bi에 append bi.append(num%2) # 계산하였으므로 num 을 2로 나눔 num = num//2 # return 할 값 answer = 0 # bi를 0 제곱부터 N제곱까지 배치하였으므로 # enumerate 함수를 사용하여 index를 그대로 사용하면 된다. for i, v in enumerate(bi): # v 값이 0이면 2^i 를 answer에 더한다 if v == 0: answer += 2**i # return answer r..
import numpy as np class Solution(object): ''' Given a string S that only contains "I" (increase) or "D" (decrease), let N = S.length. Return any permutation A of [0, 1, ..., N] such that for all i = 0, ..., N-1: If S[i] == "I", then A[i] A[i+1] ''' def diStringMatch(self, S): # S의 길이를 구한다. ln = len(S) #li = list(np.arange(ln+1))
class Solution(object): def reverseWords(self, s): """ :type s: str :rtype: str """ # return 변수 answer = "" # 문자를 띄어쓰기로 나누어 list로 변환 data = s.split(" ") # data 의 길이 구함 lnData = len(data) # data 를 for 문을 돌림 for i, v in enumerate(data): # 띄어쓰기 원소를 list로 변환 ls = list(v) # reverse ls = ls[::-1] # ls를 다시 String 형태로 변환 answer += "".join(ls) # i가 마지막 index가 아니면 answer에 " "를 더함 if i != lnData-1: answer ..
class Solution(object): def arrayPairSum(self, nums): """ :type nums: List[int] :rtype: int """ nums.sort() # nums 의 길이를 구하여 n을 구함 numsLen = len(nums) # n 을 구함 n = numsLen / 2 # 결과값을 받을 변수 res = 0 # nums의 index를 짝수 인덱스만 뽑아 res에 더함 for i in range(0, numsLen, 2): res += nums[i] return res nums = [1,4,3,2] Solution().arrayPairSum(nums) https://leetcode.com/problems/array-partition-i/