분류 전체보기 71

자료구조 / 배열, 스택, 큐, 해시테이블

자료구조의 큰 그림 : 어떤 구조로 데이터를 다룰 것인가 자료구조와 알고리즘자료구조: 데이터를 효율적으로 저장하고 관리하는 방식알고리즘: 주어진 문제를 해결하기 위한 효율적인 연산 방법시간복잡도와 공간 복잡도성능의 차이를 판단 하는 척도시간 복잡도 : 입력의 크기에 따른 프로그램 실행 시간 = 입력의 크기에 따른 연산 횟수 ![[Pasted image 20250226153209.png]]빅 오 표기법 시간 복잡도는 동일한 입력에도 실행 시간이 달라질 수 있음점근적 상한을 나타내는 표기법으로, 실행 시간 증가의 한계를 표현O(상한(n)) 형태로 작성하며, 입력 n이 무한대로 커져도 실행 시간이 해당 상한을 초과하지 않음을 의미예시: O(3n) → 실행 시간 증가율이 최대 3n보다 작거나 같음을 의미![[P..

코합되 / Chapter 09 해시 / 자바스크립트는 객체 깡패다.

해시키와 값을 1:1 저장해서 빠른 데이터 탐색을 제공단방향으로 동작(값으로 키를 왜 찾아) O(1) -> 탐색 과정이 필요 없음 활용분야특정 데이터를 탐색하는 횟수가 많을 경우 사용비밀번호 관리데이터베이스 인덱싱블록 체인 해시함수자스에선 오브젝트라는 자료형으로 구현 가능 고려사항해시 함수가 변환한 값은 인덱스로 활용해야 하므로 해시 테이블의 크기를 넘으면 안 됨. 해시 함수가 변환한 값의 충돌은 최대한 적게 발생해야 함(동일한 결과값이 적게 나오게) 자주 사용하는 해시 함수나눗셈 법 : 키를 소수로 모듈러 연한 함. 곱셈법 문자열 해싱 충돌 처리체이닝개방 주소법

코합되 / Chapter 08 큐 / 네~ 다음손님 주문 어떤걸로 해드릴까요?!

큐= 선입선출 데이터 이동 과정: 더벤티 음료 주문과 같다. 먼저 주문 한 음료가 먼저 나오는 것이다.  활용 분야이벤트를 발생한 순서대로 처리할 때 큐가 활용됨.작 업 대기열 : 다수의 클라이언트 요청을 서버에서 순서대로 처리하고자 할때.이벤트처리 : 키보드, 마우스 등의 입력을 처리할 때.  ADT연산 데이터가 다 찼는지.비었는지푸시 팝, 반환 front : 가장 처음에 팝한 위치를 기록(앞부분)rear : 가장 최은에 푸시한 데이터의 위치를 기록(뒷부분)    큐 구현시 단점: 큐를 한 방향으로 관리 하기 때문에 메모리 공간을 낭비하게 됨. -> front 이전을 기준으로 큐의 사용가능한 부분가 불가능한 부분이 나누어짐  shift()로 구현(추천)shift()는 배열의 맨 앞 요소를 제거하고 반환..

Chapter 03 운영체제 - 04 CPU 스케줄링 / 05 가상 메모리 (작성중 ...)

[ 스케줄링 ]베이스 : CPU의 자원은 한정적이다. 프로세스 마다 적절히 나눠 가져야 한다. 배분 방법 -> 스케줄링  ✅  우선순위 📌 운영체제에서 프로세스 우선순위와 CPU 자원 할당운영체제(OS)는 다수의 프로세스를 효율적으로 관리하기 위해 각 프로세스의 우선순위를 판단하고, 이를 프로세스 제어 블록(PCB)에 명시함. 일반적으로 우선순위가 높은 프로세스는 CPU 자원을 더 많이, 더 빨리 할당받게 됨. 📌 프로세스 우선순위 확인 및 조정개발자는 프로세스의 우선순위를 조정할 수 있으며, ps 명령어를 이용해 현재 실행 중인 프로세스의 우선순위를 확인할 수 있음. 이를 통해 시스템의 자원 배분 상태를 분석하고 최적화할 수 있음. 📌 우선순위 할당 기준운영체제는 주로 CPU 활용률을 기준으로 프..

코합되 / Chapter 06 스택 / 스택은 참 쉽다. 어디 쓰이는지 판별하는 건 전혀 쉽지 않다.

내 업보다 미친아 학습 목표스택을 아세요?스택을 낉여오거라 .스택이란 (것도 모르면 바보 아니겠냐. ) 당신들 선입 선출이 뭔지는 아시죠, 근데 스택은 그게 아님. 이해 완?  ㅇㅇ 완. 푸쉬 앤나 팝 나연 팝 아세요?모르면 들어.   음. 개미가 줄을 섰다고 가정 해봅시다. 🐜 ㅋㅋ 기여움.  🐜 이상태는 top이 1인 상태 입니다. 고로 탑이란, 마지막에 요소가 들어간 자리를 가리키나...? 없을때 -1 이면, 하나 있을땐 0. 아 이것의 탑은 0이 겠네요.  아무튼예 🐜🐜개미가 꼬리를 물었습니다. 뒤에온 놈이 나중에 온 놈이겠지요. 이것을 우리는 푸쉬라고 부릅니다.  🐜🐜🐜🐜🐜🐜🐜 푸시푸시 베이베 🐜🐜 어 근데 개미들이 잘 따라오다가 길을 잃었나봐여뒤에 있던 개미들이 없어졌어..

코합되 / Chapter 05 배열 / 너는 배열을 모르면 안 된다.

님들 배열을 왜 쓰는지 아세요?모르시죠?그건 바로 ~여러개의 데이터를 하나의 변수로 관리하기 위함 !! 임을, 이미 다 알고 계시죠? 모르면 큰일나 ~자바스크립트 배열의 어떠한 특징들배열 크기 조절이 가능함.숫자 인덱스로 요소에 접근이 가능함.배열 복사시 얕은 복사본이 생성됨.생성 방법은 여러가지가 있는데요~Array() 생성자로 생성하기. (생성자로 생성하기 막이래~)리터럴 표기법으로 생성하기.const fruits = ["사과", "바나나"];(생각보다 여러가지는 아니군 .)자.스 배열의 크기는 조절이 가능하다고 했지요? 관련 메소드를 알아보아요.join(), slice(), indexOf() 등은 호출시 length 값 고려.push(), splice(), pop()은 length 속성 갱신.len..

자바스크립트 불변 객체 | 상태를 불변하게 업데이트 한다는 건?

* 개인 공부를 정리한 포스트입니다. * 잘못된 정보는 댓글로 알려주세요. * 위키북스의 정재남 코어자바스크립트를 참고하였습니다. 리액트에서 불변성이란? 리액트를 공부하다보면 상태를 불변하게 업데이트 해야한다고 배웠을 것이다. 이게 과연 무엇일까? 앞서 객체는 가변(내부의 프로퍼티 값이 변함)이라고 하였다. 리액트의 상태(변수)의 값으로 객체를 할당하였을때 사용자는 객체에 접근하여 값을 바꾸는 것이 가능하다. 이것은 불변하다는 것에 반하는 것이 된다. 따라서 새로운 객체를 만들어 재설정 하는 방식으로 값을 업데이트 해줘야 한다. 이러한 것을 불변성을 지키는 것이라고 한다. 또한 리액트의 set은 이전값의 값과 같을때 값이 변하지 않고 상태가 유지 된다. 내부 프로퍼티로 접근해서 값을 변경한 경우 주소를 ..

💻 FE/🍓 JS 2024.03.04

자바스크립트 기본형 데이터와 참조형 데이터 | 상수는 불변값인가?

* 개인 공부를 정리한 포스트입니다. * 잘못된 정보는 댓글로 알려주세요. * 위키북스의 정재남 코어자바스크립트를 참고하였습니다. 상수는 불변값인가? 기본형 참조형 가변값 불변값 각각의 정의를 살펴보자. 상수란 변경될 수 없는 값이다. 불변값이란 값이 변하지 않는 것이다. 얼핏 들으면 같은 말처럼 들린다. 하지만 자바스크립트에서는 다르다. 변수와 상수의 구분은 변수 영역 메모리에 따라, 불변값의 여부는 데이터 영역 메모리에 따라 구분된다. 불변값으로는 기본형 데이터(숫자, 문자열, null 등)가 있다. 값을 바꿀 때 마다 기존값을 수정하는 것이 아니라 새로운 변수를 만들어낸다. 고로 기존에 저장된 데이터는 변하지 않는다. 참조형 데이터의 기본적인 성질은 가변값이다. 변수에 객체를 할당할때 객체의 프로퍼..

💻 FE/🍓 JS 2024.03.02

CSS width : 100 % 패딩 값 / 자식요소 오버플로우 / 부모 자식 여백

한 달 뒤의 내가 이 포스팅을 다시 봤을때 저 간단한걸 왜 몰라 할 수 있기를 바라며 ...  문제상황 : 습관성 width: 100% 로 인한 이슈가 발생하였다.자식 요소가 부모요소 밖으로 튀어나올때!! 어떻게 해결을 보면 좋을까!!뭐가 문제여서 그런걸까!! 을 알자보자 싶어 그냥 이것저것 해보고 기록하는 글이다.  0. 실험 기본 상태0. box-sizing은 기본값이다.1. body의 가로크기는 800px 이다. 2. 부모는 body의 가로크기를 100%으로 받고 패딩 50을 가지고 있다. 3. 자식은 부모의 가로크기를 100%으로 받는다. 여기서도 이슈 발생. 엄마가 오른쪽으로 치우쳤다. 이것은 body의 가로가 800에서 마진이 오토값으로 중앙정렬 되어 있는 상태에서 엄마의 패딩이 50으로 설정..

[ HTML / CSS ] Margin 겹침

마진이 겹치는 부분은 값이 큰 마진으로 해결 본다는 것. 배치 시 이웃하는 요소간, 부모 자식 요소간, 적용이 됨. 부모 요소에 overflow: hidden 을 주면, 자식요소가 부모 밖으로 나가지 못함. 부모 요소에 display: inline-block 값을 주면, 자식 요소의 마진값을 적용할 수 있음. 부모 콘테이너에 패딩을 주는게 가장 이상적인듯, ,, 하지만 박스 사이징을 보더 박스로 하는 경우에는 부모에 패딩주는 순간 마음이 안 좋아질수도 ,, 아니면 애초에 디자이너한테 정확한 값을 받아와서 챡챡챡.. 잘 하던가.. 말던가.. 겹치는 부분은 같은 값으로 마진을 줘서 나중에 봐도 의도적으로 마진을 줬음을 알게 하는 것도 좋은듯.. 아니면 마진은 아래로만 주는 형식으로 해결하던가.. 말던가.. ..