일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 피보나치
- KAKAO
- cpu scheduling
- GCP
- Dynamic Programming
- docker
- easy
- GKE
- Kotlin
- k8s
- Top-down
- Codility
- 백준
- 알고리즘
- mobaXTerm
- 파이썬
- Singleton Pattern
- Python
- BubbleSort
- golang
- java
- Programmers
- Observer Pattern
- kubernetes
- 그리디
- github
- Backjoon
- LeetCode
- go
- Today
- Total
목록알고리즘 (44)
To Be Developer
class Solution(object): class Solution(object): def rotateString(self, A, B): """ :type A: str :type B: str :rtype: bool """ # input A 의 길이 ln = len(A) # input B 의 길이 lnB = len(B) # input data가 "" 이면 True if ln == lnB == 0: return True # 길이가 같지 않으면 False if ln != lnB: return False # 0 ~ ln-1 까지 반복 for i in range(ln): # A[i~ln-1] + A[0~i] 가 B 와 같으면 True if A[i::]+A[:i] == B: return True # 반복문을 무사..
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 isPerfectSquare(self, num): """ :type num: int :rtype: bool """ # 정사각형인지 아닌지 확인 # num 은 사각형의 넓이 # 밑변 ^ 2 = 넓이 # 넓이 ^ 0.5 = 밑변 res = num**0.5 # 계산하면 float 형이 나온다. # int로 형 변환 하였을 때 값의 크기가 변하지 않으면 # True # 그렇지 않으면 False if res == int(res): return True else : return False