일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Backjoon
- k8s
- Dynamic Programming
- 백준
- 알고리즘
- BubbleSort
- cpu scheduling
- java
- KAKAO
- Python
- easy
- kubernetes
- 그리디
- GKE
- Top-down
- 파이썬
- LeetCode
- Programmers
- Singleton Pattern
- Observer Pattern
- GCP
- mobaXTerm
- go
- Kotlin
- github
- 피보나치
- Codility
- docker
- golang
- Today
- Total
목록알고리즘 (59)
To Be Developer
''' 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participantcompletionreturn [leo, kiki..
class Solution(object): def isPowerOfTwo(self, n): """ :type n: int :rtype: bool """ ''' 문제설명 n 이 2의 거듭제곱이면 True, 그렇지 않으면 False를 Return 하라. ''' # 반복문이 몇 번 돌았는지 체크해주는 # count 변수 cnt = 0 while True: # 만약 2 ** cnt 가 n 이면 거듭제곱 # Return True if 2 ** cnt == n: return True # 만약 거듭제곱이 n 보다 크면 # 반복할 필요 없으니 if 2 ** cnt > n : return False # cnt 를 1 증가 시킴 cnt += 1 return False if __name__ == "__main__": inp..
class MyStack(object): # stack 변수 선언 stack = None def __init__(self): """ Initialize your data structure here. """ # class 생성시 전역변수 stack 에 비어있는 List 대입 self.stack = [] def push(self, x): """ Push element x onto stack. :type x: int :rtype: None """ # push method 호출시 stack list 맨 뒤에 원소 추가 self.stack.append(x) def pop(self): """ Removes the element on top of the stack and returns that element. :rt..
"""피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.""" # 피보나치 functiondef fibonacci(n): # 피보나치 수열을 저장할 리스트 rst = [0,1] # 문제에서 input data 가 90 이하라고 주어졌기에 # 그 이상 초과되면 90으로 고정시켜준다...
class Solution(object): def rotate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: None Do not return anything, modify nums in-place instead. """ # 문제 설명 ''' nums 배열이 input으로 주어지는데 뒤에서 부터 k 개를 꺼내 앞으로 붙여라 ex) nums = [1,2,3,4,5,6,7] k = 3 step 1 : [7,1,2,3,4,5,6] step 2 : [6,7,1,2,3,4,5] step 3 : [5,6,7,1,2,3,4] ''' # nums 의 길이를 구한다 ln = len(nums) # k 번 반복하여 nums의 맨 마지막 원소를 꺼내 # 0번 ..
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 ..