일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Backjoon
- 그리디
- easy
- go
- KAKAO
- kubernetes
- Top-down
- 피보나치
- Singleton Pattern
- k8s
- Python
- GCP
- Kotlin
- docker
- GKE
- golang
- java
- 파이썬
- github
- Dynamic Programming
- cpu scheduling
- 백준
- 알고리즘
- BubbleSort
- Programmers
- mobaXTerm
- Codility
- Observer Pattern
- LeetCode
- Today
- Total
목록Python (43)
To Be Developer
def solution(phone_book): # phone_book을 원소의 길이를 기준으로 # 오름차순으로 정렬 phone_book.sort(key = lambda x: len(x)) # 매개변수 배열의 크기를 구함 pbLen = len(phone_book) # 2중 for 문을 사용하여 하나 하나 비교해본다. # 0 ~ pbLen-1 for i in range(0, pbLen-1): # i 번째 인덱스의 길이를 k에 대입 k = len(phone_book[i]) # i+1 ~ pbLen 까지 for 문 for j in range(i+1, pbLen): # j 번째 원소의 0~k-1 의 문자가 phone_book[i] # 와 같다면 return False if phone_book[i] == phone..
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 ..