일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- defee
- 코드트리
- 자바
- 알고리즘
- Flutter
- CSS
- HTML
- 스택
- corou
- TiL
- 시스템콜
- Vue.js
- Java
- pintos
- 크래프톤 정글
- 자바스크립트
- 크래프톤정글
- 소켓
- 4기
- 모션비트
- userprog
- 나만무
- 리액트
- 티스토리챌린지
- 핀토스
- 큐
- JavaScript
- 오블완
- 사이드프로젝트
- 백준
- Today
- Total
목록TiL (158)
미새문지
백준 2231 파이썬 브론즈2 분해합 import sys input = sys.stdin.readline n = int(input()) i = 1 sum = 0 while True: a = i sum = i while a > 0: sum = sum + (a % 10) a = a // 10 if sum == n: print(i) break if i == n: print("0") break i += 1 오늘 기획한 디자인대로 로그인 페이지와 회원가입 페이지 퍼블리싱을 어느정도 구현했다. 로그인과 회원가입 페이지는 input이나 버튼 등 공통적으로 쓸 부분이 많아서 components 폴더에 common 폴더를 하나 만들어 그곳에서 작성했다. 각 부분별로 컴포넌트를 나눠 만들고 로그인 페이지와 회원가입 페이지..
https://moonmisae-cdpt.tistory.com/180 해시 테이블(Hash Table) 해시 테이블(Hash Table) 해시 테이블은 키(Key)와 값(Value)을 매핑하여 데이터를 저장하는 데이터 구조 중 하나이며, 이 방식은 빠른 데이터 검색이 가능하다. 하지만, 해시 테이블은 해시 함수를 사 moonmisae-cdpt.tistory.com 기존에 작성하던 시스템콜 코드에서 두 가지를 수정했다. 매 함수마다 체크했던 파일 존재 여부 조건문을 함수로 만들어 코드를 줄였는데, 기존의 조건문의 조건이 4개 정도로 길기 때문에 함수로 묶은게 깔끔해서 괜찮은 것 같다. 하나는 시스템 콜 함수가 실행되면서 동시성 문제를 위해 lock_acquire과 lock_release..
https://moonmisae-cdpt.tistory.com/176 pintOS - project2(Userprog) process.c process.c 더보기 // 명령줄 인자를 스택에 배치한다. void argument_stack (char **argv, int argc, struct intr_frame *if_){ int minus_addr; int address = if_->rsp; // 스택 포인터(rsp)의 현재 위치를 담는다. // moonmisae-cdpt.tistory.com VM을 제외한 process.c의 함수를 학습했다. https://moonmisae-cdpt.tist..
https://moonmisae-cdpt.tistory.com/176 pintOS - project2(Userprog) process.c process.c 더보기 // 명령줄 인자를 스택에 배치한다. void argument_stack (char **argv, int argc, struct intr_frame *if_){ int minus_addr; int address = if_->rsp; // 스택 포인터(rsp)의 현재 위치를 담는다. // moonmisae-cdpt.tistory.com 코드 분석에 어려움이 있어 아직 process.c는 진행중이다. syscall.c는 시스템 콜의 작동 코드를 작성하기 때문에 어느정도 이해가 되는데 pro..
https://moonmisae-cdpt.tistory.com/171 시간 복잡도(Big-oh Notaion) 시간 복잡도(Time Complexity) 알고리즘을 실행하는데 필요한 시간이 입력의 크기에 따라 어떻게 변화하는지를 나타내는 척도이다. 이는 알고리즘의 효율성을 평가하는 중요한 기준 중 하나로, 알고 moonmisae-cdpt.tistory.com https://moonmisae-cdpt.tistory.com/172 연결 리스트(Linked List) 연결 리스트 (Linked List) 연결 리스트는 노드의 집합으로, 각 노드가 다음 노드를 가리키는 포인터를 통해 순차적으로 연결된 구조이다. 연결 리스트는 동적 메모리 할당을 사용해 구현되며, 배열 mo..
https://moonmisae-cdpt.tistory.com/165 배열과 문자열 배열 메모리 주소 ↓ +---+---+---+---+---+---+ | 5 | 8 | 2 | 7 | 1 | 9 | +---+---+---+---+---+---+ 0 1 2 3 4 5 ↑ 인덱스 배열 arr의 시작 주소: 0x1000 arr의 크기: 6 (요소 개수) 요소 크기: 4바이트 (int 타입) arr[2]의 메모 moonmisae-cdpt.tistory.com https://moonmisae-cdpt.tistory.com/166 반복문과 재귀함수 반복문(Loop) 반복문은 프로그래밍에서 특정 작업을 반복적으로 수행하기 위해 사용되는 제어문이다. 반복문 유형 for문 ..
클럭 알고리즘(Clock Algorithm) 페이지 교체 알고리즘(Page Replacement Algorithm)의 한 종류이며, 이 알고리즘은 페이지 프레임을 효율적으로 관리하기 위해 고안되었다. 클럭 알고리즘은 NRU(Not Recently Used) 알고리즘의 변형으로, 참조 비트(Reference Bit)와 수정 비트(Modified Bit)를 활용한다. 클럭 알고리즘의 동작 페이지 프레임 링 모든 페이지 프레임은 환형 링크드 리스트로 연결되어 있다. 각 프레임에는 참조 비트와 수정 비트가 있다. 포인터 사용 알고리즘에는 한 개의 포인터가 사용된다. 이 포인터는 링 상의 프레임들을 차례로 가리키며 회전한다. 페이지 교체 과정 새로운 페이지가 메모리에 적재되어야 할 때, 알고리즘은 포인터가 가리키..
슬슬 다른 vm팀들은 기존에 완성 못한 multi-oom부터 테스트를 시작했고 복습팀은 다음 주 월요일에 코치님이 직접 관여하여 가이드나 질문 답변등을 해주신다고 하셔서 그 전까지 개인적인 복습과 다른 할 일이 있다면 마무리하는 식으로 진행하기로 했다. 상림이형과 현우님은 threads부터 꼼꼼히 하는식으로 진행하고 세진이는 mlfqs만 마무리하고 바로 userprog로 넘어간다고 한다. 나는 일단 1부터 훑어볼 예정이긴 한데 상황 따라 모르는 부분만 학습해 넘기고 시스템 콜쪽을 좀 더 보지 않을까 싶다. 그리고 파란색 운영체제 책은 틈날때마다 읽으면 매우 좋다는 얘기를 들어서 빈 타임마다 한번씩 쭉 읽어볼 생각이다. 학습 시간 : 10 ~ 23시