일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Observer Pattern
- BubbleSort
- cpu scheduling
- KAKAO
- kubernetes
- Dynamic Programming
- github
- LeetCode
- k8s
- Codility
- golang
- 피보나치
- 그리디
- 알고리즘
- Python
- 파이썬
- java
- easy
- mobaXTerm
- GCP
- Programmers
- GKE
- docker
- go
- Singleton Pattern
- Top-down
- Kotlin
- 백준
- Today
- Total
To Be Developer
CPU Scheduling CPU burst 가 긴 것도 있고 짧은 것도 있기에 CPU 스케쥴링이 필요하다. 여러종류의 job(=process) 가 섞여 있기 때문에 CPU 스케쥴링이 필요하다. ready queue(CPU 를 얻고자하는 프로세스) 에서 어떤 프로세스에게 CPU를 할당할 것인지를 정하는 것이 CPU 스케쥴링이다. I/O burst(I/O 요청을 하고 기다리는 시간)가 끝나면 CPU burst(CPU 명령을 실행하는 것) 상태에 들어간다. 두 가지 중요한 이슈 CPU burst에 들어온 프로그램들이 여럿이 있는데 누구한테 당장 cpu를 주는 가? cpu burst 가 너무 길면 중간에 cpu를 뺏어서 다른 프로세스한테 주는 가? 사람과 직접적으로 연관있는 I/O bound job 들이 지나..
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주어진다. 가격은 0보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net N, M = list(map(int, input().split())) m1 = 100000 m2 = 100000 res = None for i in range(M): res = list(map(int, input().split())) m1 = min(m1, res[0]) # 패키지 최소값 m2 = min(m2, res[1..
https://programmers.co.kr/learn/courses/30/lessons/43105 알고리즘 연습 - 정수 삼각형 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr [Python 풀이] def solution(triangle): answer = 0 triSize = len(triangle) # 삼각형 배열의 사이즈 dp = [[0 for j in range(i+1)] for i in range(triSize)] # 각 경로의 최대 값을 저장해놓을 배열 dp[0][0] = triangle[0][0] # 높이가 1 일 때는 경우의 수가 1개뿐 if triSize == 1: # 높이가ㅏ 1 일 때는 계산을 마쳤으므로 바로 return return dp[0][0]..
코드 최적화 기법 속도를 향상, 코드를 작게 논리구조 답을 알고 있을 때에는 테스트 하지마라 if 5 < x and x < 10: ~~~ # 중복된 논리식이면 굳이 다시 검증할 필요가 없다 빈도에 따른 테스트 정렬 // 가장 빈번히 나오는 경우를 고의적으로 먼저 필터링 시켜 검증 수를 줄인다 switch(num){ case "+" || "=" : /* ~~~ */ break; case "0" To "9": /* ~~~ */ break; case ",",".",";": /* ~~~ */ break; } ifthenelse 와 switch~case 문의 실행속도를 비교해서 더빠른 것을 사용하도록 한다 복잡한 표현식을 테이블 참조로 대체 if (a and not c) or (a and b and c): cat..
https://leetcode.com/problems/min-cost-climbing-stairs/ Min Cost Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com class Solution(object): def minCostClimbingStairs(self, cost): size = len(cost) # cost size dp = [cost[0] if i==0 else cost[1] if i==1 else 0 for i in ..
[Python 풀이] class Solution(object): def removeElement(self, nums, val): ln = len(nums) # nums 의 길이 pivot = 0 # pivot index self.removeNums(nums, pivot, val, ln) return ln def removeNums(self, nums, pivot, val, ln): while ln > pivot: # pivot이 nums의 길이보다 작을 때 if nums[pivot]==val: # nums의 pivot 번째 element가 val과 같을 때 del nums[pivot] # pivot 번째 제거 ln-=1 # nums의 길이 1 감소 continue # 반복문 건너뜀 pivot+=1 # 그..