본문 바로가기
OS - 컨텍스트 스위칭(tlb miss) ✅ 프로세스 관리구동중 프로세스가 여러개일때, CPU 스케줄링을 통해 프로세스를 관리하는 것을 의미Process MetaDataPID프로세스 상태Ready, Running, Waiting 등프로세스 우선순위PC (Program Counter)CPU 레지스터OwnerMemory Limit 등✅ PCB프로세스의 메타데이터를 저장하는 자료구조프로세스가 CPU를 떠나도 상태를 기억할 수 있게 해준다프로세스 간 삽입/삭제가 매우 빈번하기에, Linked List 자료구조를 사용한다.배열보다 중간 삽입/삭제 비용이 낮음동적 할당에 더 적합하다.다양한 스케줄링 전략에 유용하게 구현이 가능하다 ✅ 컨텍스트 스위칭전환 단계현재 프로세스의 문맥을 PCB에 저장스케줄러가 Ready Queue에서 다음 프로세스를 선택선택된.. 2025. 4. 28.
Molly 프로젝트 회고 ... 2025. 4. 2.
제 6회 KDT 해커톤 후기 대학 졸업 이후 취업을 위해 프로젝트 경험과 지식을 늘리고자 카카오테크 부트캠프에 참여하게 되었다.  카카오테크 부트캠프에 참여하고 있던 중, 우연히 KDT 해커톤이 열린다는 공지를 보게 되었다. 솔직히 처음엔  부트캠프 자체 해커톤과 시간이 겹쳐, 큰 기대 없이 가벼운 마음으로 참가 신청서를 제출했었다. 그런데 예선 통과했다. 예선 통과 이후, 본선에 가는 팀을 한번 더 추린다고 했다. 기획서 평가였다.  이번 해커톤은 개발와 구현에 중점을 두기보단, 서비스 기획과 사업성에 대한 측면을 많이 보는 것 같았다. 아이디어톤에 조금 더 가까운 느낌이었다 우리의 서비스는, 고전 문학을 동화로 변환해주는 서비스였다.  팀원의 좋은 아이디어 덕에, 기능을 생각하는 것은 어렵지 않았다. 너무 많아서 무엇을 빼야할지.. 2024. 12. 16.
[코테스터디 day6] Dp ✏️  추가 문제 : 설탕 배달  📌 풀이N = int(input())n = N//5m = N%5res = 0while (n>=0): if m%3 == 0: res = n+(m//3) break else: n -= 1 m += 5if(m>N): print(-1)else: print(res) 메모이제이션, dp 배열을 사용하진 않음N을 5,3으로 나누어 최소한의 횟수로 가져가는 방법을 찾기N//5 한 값에 대해서도, m//3 한 값에 대해서도 최적 부분 구조가 유지되기에부분 구조의 최적해를 합해서 전체 구조 최적해를 도출 2024. 11. 5.
[코테스터디 day5] 그리디 ✏️ 그리디 알고리즘선택의 순간마다 눈앞의 최적의 상황을 쫓아 최종 해답에 도달하는 방법.항상 최적해를 보장하지 않고, 검증을 거쳐야 하지만 탐욕적으로 접근했을때 해결 보장이 있다면 효과적동전 거스름돈 문제, 다익스트라 알고리즘, 스케쥴링, Knapsack 문제등에 주로 이용된다.  Greedy를 적용하는 조건탐욕적 선택 속성(Greedy Choice Property)앞의 선택이 이후의 선택에 영향을 주지 않는다.최적 부분 구조(Optimal Substructure)문제에 대한 최종 해결 방법은 부분 문제에 대한 최적 문제 해결 방법으로 구성된다.이러한 조건이 성립하지 않는 경우에는 탐욕 알고리즘은 최적해를 구하지 못한다.하지만, 탐욕 알고리즘은 근사 알고리즘으로 사용이 가능하다. 대부분 속도가 빠르기에.. 2024. 11. 4.
[코테스터디 day4] 완전탐색 ✏️ 오늘의 문제 : 소수 찾기 📌 주안점itertools.permutation을 이용한 순열 생성 (모든 경우의 수는 중복 가정했을때, 7! -> 충분히 작음)int로 변환해서 leading zero 제거. 001, 01, 1 등을 1로set 자료구조를 사용해서 중복을 제거에라토스테네스의 체 알고리즘을 사용해서 최대값의 루트값까지만 조사, 최대값 9999999에라토스테네스 체 시간복잡도 : O(n * log(log n)) N : 9999999 -> 충분 📌 풀이# 1. 7! # 2. int로 leading zero 제거# 3. set으로 중복 제거import itertoolsdef solution(numbers): numbers = list(numbers) ss = set() .. 2024. 11. 1.
[코테스터디 day3] 정렬 ✏️ 정렬in pythonlist1.sort()시간 복잡도 O(nlogn)에 근접 -> 최적화 잘되어있다고 함 (quicksort -> O(nlogn)) sort 옵션sort(key=len) -> 정렬 기준을 지정하는 함수나 함수를 반환하는 식을 제공 (len 함수 등)sort(reverse = True) -> 내림차순 정렬 (기본값 : 오름차순)list1 = sorted(list2) Lambda식기본 형식lambda 인자: 반환값lambda x:x[1] -> x 인자에서 index 1의 원소를 반환lambda와 sort의 조합sort(key=lambda x:x[0])   ✏️  오늘의 문제 : 가장 큰 수    📌 주안점정렬의 기준을 잡는 문제 -> python의 key=lambda, java의 Co.. 2024. 10. 31.