로드맵
전체 1게시글
고민있어요
끄앙 50%보다가 코테 너무 어려워서 손 놓았다가 다시 왔어요.
- 0
- 1
- 132
고민있어요
강좌소개 수업 자료 링크
- 0
- 1
- 139
질문&답변
풀어보았지만 실패했습니다.
혹시 이런 문제를 계속계속 풀어가야 될것 같은데 typescript의 타입들을 만들거나 풀때 꿀팁 같은게 있을까요? 현재 제가 하는 방식은type result = Route["search"];이런식으로 대충 원하는 모양을 만든다음에(사진)마우스 커서를 올려서 타입을 확인하면서 천천히 푸는 방법인데 혹시 더 좋은 방법이나 꿀팁이 있으시다면 알려주시면 감사합니다!
- 1
- 2
- 242
질문&답변
저만 이런 에러 뜨는건지 모르겠는데, 영상 안나와서
자체 해결 했는데, 크롬에서 설정 탭 간 다음에인프런 사이트 쿠키, 캐시 삭제 하고 다시 로그인 하니까 잘나옵니다
- 0
- 2
- 499
질문&답변
문제를 한번 풀어보았습니다.
헉 정답과 똑같군요!
- 0
- 1
- 196
질문&답변
splice 를 이용해서 풀어봤습니다. 이렇게 풀어도 될까요?!
Set 자료형은 중복을 제거 하기 때문에 중복 문자열 길이가 같으면 그것도 중복 제거 해버립니다.console.log(sol('KKHTTSSSSSEE'));결과 : K2HTS5EK2가 T2가 나와야 하는데 2가 중복 되어 사라지는걸 알 수 있습니다.
- 0
- 2
- 274
질문&답변
react 함수 컴포넌트 타이핑은 있는데 클래스 컴포넌트 타이핑 예제 코드가 없네요.
필요한 분들을 위해 예제 코드를 올려 두겠습니다. import React, { Component } from "react"; class WordRelay extends Component { state = { word: "제로초", value: "", result: "", }; onSubmitForm = (e: React.FormEvent) => { e.preventDefault(); const input = this.input; if (this.state.word[this.state.word.length - 1] === this.state.value[0]) { this.setState({ result: "딩동댕", word: this.state.value, value: "", }); if (input) { input.focus(); } } else { this.setState({ result: "땡", value: "", }); if (input) { input.focus(); } } }; onChangeInput = (e: React.ChangeEvent) => { this.setState({ value: e.currentTarget.value }); }; input: HTMLInputElement | null = null; // this.input을 생성 onRefInput = (c: HTMLInputElement) => { this.input = c; }; render() { return ( {this.state.word} 클릭!!! {this.state.result} ); } } export default WordRelay;
- 1
- 1
- 227
질문&답변
EDWIN, 코드리뷰 부탁드립니다.^^ Array.from 을 활용해 봤습니다.
와 진짜 잘하시네요. 이렇게 풀 수 도 있네요
- 0
- 3
- 349
질문&답변
코드리뷰 부탁드립니다 .선생님..^^
저보다 대각선 구하는 코드가 깔끔하시네요. 한수 배우고 갑니다
- 0
- 2
- 253
질문&답변
sort 사용해도 괜찮은 걸까요?
제가 대신 답변 드리자면, 문제 설명에 출력 설명 부분을 보시면,입력된 순서대로 등수를 출력한다. 라고 되어 있어서 해당 코드는 안될것 같습니다!
- 0
- 1
- 262
블로그
전체 62024. 10. 20.
2
인프런 워밍업 클럽 2기 - CS 전공지식 스터디 3주차 마지막 발자국
3주차 회고1주일에 3회 발표 하는 방식의 복습 스터디가 3주만에 드디어 끝이 났다.팀원 분들이 없었다면 나는 아마 완강도 못했을것같다. 사실 이렇게 1주일에 3번의 스터디를 한다는거와 그중 1번은 무조건 발표 해야 한다는것은 굉장히 부담이다.근데 무려 참석률 100% 를 달성하며 무사히 스터디를 마칠 수 있었던것은 정말 좋은 스터디원들을 만났기 때문이다.스터디는 확실히 나에게 좋은 영향력을 끼친것 같다. 우선적으로 내가 공부하는 방법에 대해서 고민하게 되었다. 원래 내가 강의를 공부하는 방법은 강의를 한번 보면서 중요한것들만 요약하면서 공부를 했었다. 근데A팀원분은 강의를 보면서 1차 정리를 하고 그다음에 한번더 2차정리를 하신다고 한다. 그러한 과정에서 이제 그림 그리면서 내용을 정리 하시는데 확실히 이렇게 2회독 정도 하면서 그림과 설명을 붙여가면서 정리를 하니까 복습도 잘되고 이해도 잘되는것 같았다.B팀원분은 강의를 빠르게 1번 보고 2번째 볼때 꼼꼼하게 정리를 하신다고 하셨다. 근데 꼼꼼하게 정리한다는것이 나 같은 경우에는 강의에 있는 내용들만 보통 보고 넘어간다면 이분은 좀 더 자세하게 다른 서적이나 자료들을 찾아보면서 연관되는 내용들도 함께 공부하신다. 확실히 CS 개념들을 정확하게 짚고 넘어가려면 이렇게 꼼꼼하게 공부하는게 맞는것 같다. 왜냐하면 운영체제에 대한 질문이 들어오고 강의에 대한 내용만 기억하고 있다면 첫번째 질문에는 답변 할 수 있겠지만 그에 맞는 꼬리 질문이 들어온다면 아마 대답하지 못할것이기 때문이다.앞으로 나에게 맞는 공부방법을 변형해가면서 연구 해봐야겠다. 추가적으로 해당 CS정리를 잘 하고 난후에 어떻게 해당 내용들을 개발 관련일을 하면서 휘발 되지 않고 오래 기억에 가져갈 수 있는지에 대한 고민도 해봐야겠다. 끝으로 마지막 발표 자료 캡쳐로 마무리 짓겠다.3주차 학습 요약운영체제가상메모리 개요: 물리 메모리의 한계를 극복하여 프로그램이 실제 메모리 크기와 상관없이 실행될 수 있게 해줌. 스왑 영역과 함께 사용.세그멘테이션과 페이징:세그멘테이션: 프로그램을 함수나 모듈로 나누어 할당. 외부 단편화 o, 내부 단편화 x페이징: 메모리를 동일 크기로 나누어 할당. 외부 단편화x . 내부 단편화 o혼용기법 (페이지드 세그멘테이션): 세그멘테이션과 페이징의 장점을 결합.디맨드 페이징: 자주 쓰이는 데이터만 메모리에 로드. 페이지 교체 알고리즘 사용.스레싱과 워킹셋: 과도한 스왑 작업으로 인해 성능 저하가 발생하는 현상. 워킹셋은 자주 쓰이는 페이지 집합을 유지.주변장치: 캐릭터 디바이스(마우스, 키보드)와 블록 디바이스(하드디스크, SSD)로 구분됨. DMA로 메모리에 접근.파일과 파일시스템: 파일 관리자는 파일 생성, 수정, 삭제, 권한 관리 등을 수행. 디렉토리는 파일을 체계적으로 관리하기 위한 구조.자료구조와 알고리즘정렬 알고리즘:삽입정렬: 이미 정렬된 부분에 새 값을 삽입. 시간복잡도 O(n²).병합정렬: 재귀적으로 나눈 후 병합. 시간복잡도 O(n log n).퀵정렬: 피벗을 기준으로 좌우 분할. 평균 시간복잡도 O(n log n), 최악 O(n²).동적 프로그래밍:메모이제이션: 재귀로 계산 시 결과를 저장해 중복 계산을 피함. 하향식 접근.타뷸레이션: 상향식으로 필요한 값을 모두 미리 계산해 테이블에 저장.
알고리즘 · 자료구조
・
알고리즘
・
자료구조
・
운영체제
2024. 10. 20.
2
인프런 워밍업 클럽 - CS 3주차 미션
운영체제1. 메모리의 종류는 어떤것들이 있나요? 각 메모리의 특징도 함께 적어주세요.- 레지스터 : CPU 내부에 위치한 가장 빠른 메모리로 CPU가 명령어를 실행할 때 직접 사용합니다.- 캐시 : CPU와 메인 메모리(RAM) 사이에 위치하고 CPU의 성능을 높이기 위해 사용되는 고속 메모리입니다.- 메인 메모리(RAM) : 빠르지만 휘발성 메모리입니다.- 보조 저정장치(HDD,SSD) : 영구 저장 장치로 데이터의 비휘발성 저장합니다.2. 사용자 프로세스가 메모리의 운영체제 영역에 침범하지 못하도록 만든 레지스터는 어떤 레지스터일까요?- 경계 레지스터입니다.- 경계 레지스터는 CPU내에 존재하고 메모리 관리자가 사용자 프로세스가 경계 레지스터값을 벗어나면 해당 프로세스를 종료 시킵니다.3. 메모리 할당 방식에서 가변 분할 방식과 고정 분할 방식의 장단점은 뭔가요?- 가변 분할방식장점 : 1. 메모리를 가변적으로 분할 가능2. 코드, 데이터, 힙, 스택 영역을 모듈로 처리 가능3. 해당 영역을 쉽게 공유 할 수 있고 메모리 접근 보호도 편리합니다.4. 내부 단편화가 없습니다.단점 1. 외부 단편화가 발생합니다. -> 이를 해결하기 위해 조각모음을 사용하는데 -> 이는 모든 프로세스를 정지하고 해야하기 때문에 굉장히 오버헤드가 큰작업 입니다.- 고정 분할 방식장점1. 메모리를 정해진 크기 만큼 분할 가능2. 구현이 간단하고 오버헤드가 작습니다.3. 외부 단편화가 없습니다.단점1. 내부 단편화가 발생합니다. -> 이를 해결 할순 없지만 내부 단편화를 최소화 하는것이 제일 메모리를 효율적으로 사용 할 수 있는 방법입니다.4. CPU 사용률을 올리기 위해 멀티프로그래밍을 올렸지만 스왑이 더 많이 이루어져 CPU 사용률이 0%에 가까워 지는 것을 뭐라고 할까요?스레싱이라고 합니다.CPU 사용률은 높지만 시스템 성능이 떨어지는 현상을 말합니다.5. HDD나 SSD는 컴퓨터를 실행시키는데 꼭 필요한 걸까요?> 컴퓨터를 부팅하는데 필요한 os가 필요한데, HDD나 SSD에 해당 os가 저장되어 있다고 알고 있습니다.> 근데 생각 해보니까 만약에 USB에 os를 두고 컴퓨터와 연결시켜서 실행 한다면 실행 할 수 있을것 같습니다!!!> 옛날에 어릴때 컴퓨터를 처음 삿을때 window 운영체제를 설치 해야 되는데 그걸 USB를 통해서 설치 했던 기억이 있습니다. 즉, 그때도 컴퓨터를 실행할때 USB를 통해서 실행한것이지 SSD와 HDD와는 상관 없었던것 같습니다.6. 파일을 삭제해도 포렌식으로 파일을 복구할 수 있는 이유가 무엇일까요?사용자가 파일을 삭제 했을때 파일 테이블에서 해당 파일의 헤더를 지웁니다.사용했던 블록을 free block list에 넣습니다.즉, 사용자는 파일이 삭제된것처럼 느끼지만 실제로는 사용 했던 블록의 데이터는 free block list에 그대로 남아 있어서 파일을 복구 할 수 있게 됩니다.자료구조와 알고리즘1. 지금까지 배운 5개의 정렬 알고리즘의 장단점과 시간 복잡도를 적어주세요.버블 정렬 - 장점 : 구현이 쉽다.- 시간 복잡도 : O(n2)- 단점 : 시간 복잡도가 O(n2)으로 성능이 안좋다.선택 정렬 - 장점 : 구현이 쉽다.- 시간복잡도 : O(n2)- 단점 : 시간 복잡도가 O(n2)으로 성능이 안좋다.삽입정렬- 장점 : 구현이 쉽다.- 시간 복잡도 : O(n2)- 단점 : 시간 복잡도가 O(n2)으로 성능이 안좋다.병합 정렬- 장점 : 성능이 좋다.- 시간 복잡도 : nlogn- 단점 : 추가 메모리 공간이 필요하다.퀵 정렬- 장점 : 평균적으로 가장 빠른 정렬 중 하나이며, 메모리 사용이 효율적- 시간 복잡도 : 평균 : nlogn, 최악 : O(n2)- 단점 : 피벗 선택이 잘못되면 성능이 나빠진다.2. 메모리가 부족한 시스템에서 어떤 문제를 해결하는데 재귀로 쉽게 구현이 가능할 것 같습니다. 여러분이라면 메모이제이션과 타뷸레이션 중 어떤 걸 이용하실 건가요? 이유를 함께 적어주세요.메모리가 부족한 시스템에서는 저는 타뷸레이션(Tabulation)을 사용하는 것이 더 적합하다고 생각합니다.우리는 서비스를 제공하는 입장에서 치명적인 오류나 결함을 방지하고 사용자 경험을 보호하는 것이 가장 중요하다고 저는 생각합니다.메모이제이션은 힙메모리에 저장하기 때문에 메모리 부족 현상으로 인해 힙 메모리 부족으로 인한 오류가 발생하여 사용자에게 서비스 중단이나 예기치 못한 오류를 발생시킬 수 있습니다. 반면, 타뷸레이션은 반복문을 사용하여 스택 메모리를 절약하고, 필요 이상으로 힙 메모리를 사용하지 않아 메모리 효율적입니다. 또한 속도 측면에서 비교 해보았을때도 메모이제이션과 타뷸레이션의 성능은 거의 비슷하기 때문에 메모리가 부족한 시스템에서는 타뷸레이션을 선택하는게 바람직 하다고 생각합니다.
알고리즘 · 자료구조
・
알고리즘
・
자료구조
・
운영체제
2024. 10. 13.
2
[인프런 워밍업클럽 CS 2기] 2주차 발자국
[2주차 학습 내용]자료구조와 알고리즘재귀: 자기 자신을 참조하는 방식. 프로그래밍에서는 콜 스택을 사용하며 FILO(First In Last Out)의 특징을 가짐.버블 정렬: 인접한 값들을 비교하여 정렬하는 알고리즘. 단순하지만 비효율적이며 O(n²)의 시간복잡도를 가짐.선택 정렬: 정렬되지 않은 부분에서 가장 작은 값을 찾아 정렬하는 방식. O(n²)의 시간복잡도를 가짐. 운영체제CPU 스케줄링: FIFO, SJF, RR, MLFQ 등 다양한 스케줄링 방식이 있음.프로세스 간 통신 (IPC): RPC, 공유 자원과 임계 구역, 세마포어, 모니터 등을 사용하여 프로세스 간의 통신 및 자원 접근을 관리함.교착 상태 (Deadlock): 상호 배제, 비선점, 점유와 대기, 순환 대기의 조건으로 발생. 식사하는 철학자 문제와 은행원 알고리즘이 교착 상태를 설명함.메모리 관리:메모리 종류: 상대 주소와 절대 주소.메모리 할당 방식: 고정/가변 분할 방식, 버디 시스템 [2주차 회고]순탄치 않았지만 개발 관련 인생 첫 스터디라는것을 모집해서 처음으로 참여를 하고 있습니다.처음에는 복습과 완강하자! 이런 가벼운 마음으로 시작한것인데 함께 참여하는 팀원 분들이 너무 잘하시고 열정적이십니다.즉, 저는 팀원복이 꽤 있는것 같습니다. 아마 혼자 달렸으면 완강은 못했을것 같은데 팀원들과 스터디를 진행 하면서 이분들과의 약속을 지키기 위해서라도 완강 하게 되는것 같습니다.발표 자료 캡쳐화면
알고리즘 · 자료구조
・
운영체제
・
자료구조
・
알고리즘
2024. 10. 13.
1
CS_전공지식_ 2번째 미션
운영체제FIFO 스케줄링의 장단점장점: 단순하고 직관적.단점: 먼저 도착한 작업이 끝나야 다음 작업 실행. 나중에 도착한 작업은 앞선 작업이 끝날 때까지 기다려야 하며, I/O 작업 대기 시 CPU 사용률 저하.SJF 스케줄링 사용의 어려움예측 어려움: 어떤 프로세스가 얼마나 실행될지 예측 힘듬.긴 프로세스 지연: 버스트 타임이 짧은 프로세스가 계속 들어오면 긴 프로세스는 계속 뒤로 밀림.RR 스케줄링에서 타임 슬라이스가 작을 때 문제오버헤드 증가: 타임 슬라이스가 작으면 컨텍스트 스위칭이 빈번해지고, 실제 처리량보다 스위칭 비용이 더 커져 오버헤드 발생.MLFQ에서 CPU Bound vs I/O Bound 프로세스 구분자발적 반납: 프로세스가 CPU를 자발적으로 반납 시, I/O Bound일 가능성 높음.강제 중단: 타임 슬라이스 초과로 CPU를 뺏기면 CPU Bound일 가능성 높음.공유 자원이란?프로세스 간 통신 시 공동으로 사용하는 변수나 파일.교착 상태 조건상호 배제: 한 프로세스가 리소스 점유 시 다른 프로세스 사용 불가.비선점: 점유한 리소스를 다른 프로세스가 뺏을 수 없음.점유와 대기: 리소스를 점유한 상태에서 추가 리소스를 기다림.원형 대기: 점유와 대기 관계가 원형으로 형성됨. 자료구조와 알고리즘1. 재귀함수에서 기저조건을 만들지 않거나 잘못 설정했을 때 어떤 문제가 발생할 수 있나요?무한 루프가 발생하거나 콜스택이 꽉차서 오버 플로우가 발생한다.2. 0부터 입력 n까지 홀수의 합을 더하는 재귀 함수를 만들어보세요.const sumOdd = (n: number): number => { if (n
알고리즘 · 자료구조
・
운영체제
・
자료구조
・
알고리즘
2024. 10. 06.
1
[인프런 워밍업클럽 CS 2기] 1주차 미션
while(true){ wait(1); // 1초 멈춤 bool isActivated = checkSkillActivated(); // 체크 }위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요?- 인터럽터를 사용합니다.- 인터럽터는 비동기로 동작하고 기다리지 않고 다른작업을 합니다.- 비동기 작업을 사용하면 성능상의 이점이 있습니다. 프로그램과 프로세스가 어떻게 다른가요?- 프로그램 - 프로그램은 롤과, 지니뮤직, vscode, 크롬과 같은 HDD나SSD에 저장 되어 있는 수동적인 존재- 프로세스 - 프로세스는 프로그램이 실행되어 HDD에서 RAM(메모리)로 할당되면서 실행중인 프로그램입니다. - 프로세스는 필요에 따라 I/O(입출력) 작업이 이루어진다. - 운영체제의 CPU스케줄링 알고리즘에 따라서 CPU를 사용. 멀티프로그래밍과 멀티프로세싱이 어떻게 다른가요?멀티 프로그래밍은 메모리 관점 에서 여러개의 프로세스가 올라오는것이다.멀티 프로세싱은 CPU 관점 에서 CPU가 여러개의 프로세스를 처리 하는것. 운영체제는 프로세스를 관리하기 위해서 어떤 것을 사용하나요?프로세스의 정보를 가지고 있는 PCB를 만들고, 저장합니다. PCB는 포인터, 프로세스 상태, 레지스터 정보, 메모리 관련 정보, CPU 스케쥴링 정보 등으로 구성되어 있습니다.운영체제는 프로세스가 종료되면 연결리스트에서 해당 프로세스의 PCB를 제거합니다.컨텍스트 스위칭이란 뭔가요?컨텍스트 스위칭이란 프로세스를 실행하는 도중에 다른 프로세스를 실행하기 위해 실행중인 프로세스의 상태를 저장하고 다른 프로세스의 상태값으로 교체하는 작업 입니다.CPU에서 시분할 처리는 컨텍스트 스위칭이 매우 빠르게 일어나기 때문에, 여러 프로세스가 동시에 실행되는 것처럼 보이는 현상입니다. 해당 컨텍스트 스위칭을 하는 이유는 CPU 점유시간이 다되었거나, I/O 입출력 작업 요청이 있거나, 다른종류의 인터럽트가 있을때 발생합니다.컨텍스트 스위칭이 발생할때 프로세스가 하던일을 멈추고 CPU 건네주고 다시 자기 차례가 왔을때 이전에 하던 작업을 그대로 하기 위해서 컨텍스트 스위칭이 발생할때는 CPU레지스터 값과 프로그램 카운터(PC)등을 저장 해야 합니다.근데 이때 컨텍스트 스위칭이 CPU 점유시간이 다되었을때 발생하는데 CPU 점유 시간을 결정하는 것이 CPU 스케줄링 알고리즘 입니다. 자료구조와 알고리즘1. 여러분은 교실의 학생 정보를 저장하고 열람할 수 있는 관리 프로그램을 개발하려고 합니다.셋(Set) 자료형을 사용 할것 같습니다.- 셋 자료형을 중복을 허용하지 않기 때문입니다. 왜냐하면 학생 같은경우에는 각 학반, 학생번호, 이름이 있는데 이는 중복되지 않아야 하기 때문에 무결성을 보장 해야 합니다.- 셋 자료형은 해시테이블 기반으로 빠른 데이터 읽기, 삽입, 삭제가 가능하기 때문 입니다.- 셋도 해시테이블을 사용하기 때문에 해시 테이블의 단점인 메모리를 많이 차지한다는 점이 있는데 이는 학생이 중복 데이터가 발생하지 않기 때문에 1억건 이런식으로 발생하지 않기 때문에 메모리문제가 발생하지 않을것으로 예상 됩니다. 여러분은 고객의 주문을 받는 프로그램을 개발하려고 합니다. 주문은 들어온 순서대로 처리됩니다. 이 때 여러분이라면 어떤 자료구조를 선택하실 건가요? 이유를 함께 적어주세요.> Queue 자료구조를 사용할것 같습니다. 이유는 위의 문제처럼 주문은 들어온 순서대로 처리 되어야 하기 떄문에 FIFO 먼저 들어온것이 먼저 나가는 구조를 가진 Queue 자료구조가 적합 합니다.>비슷한 자료구조인 Stack을 만약 사용해서 구현 했다고 가정하면 주문을 제일 먼저 한 사람이 제일 마지막에 처리 되면서 엄청난 컴플레인을 받을것 같습니다. 왜냐하면 마트에서 계산 할려고 줄을 섯는데 제일 마지막에 줄을 선사람부터 계산을 하게 된다고 가정을 하면 굉장히 불공평 하기 때문입니다. 미션 회고분명히 공부하고 정리 할때 까지만해도 이해한것 같았고 넘어갔는데 미션을 제 스스로의 힘으로 풀려고 하니까 벅찼다. 뭐랄까 아 이거 뭐였지? 저거 뭐였지? 공부를 했는데 기억이 안나는것은 정말 허무하다. 그래도 다시 보고 미션으로 정리를 한번 더 했으니 기억에 더 오래 남기를 빌어본다.다음 미션에서는 스스로 직접 60%이상 풀 수 있는걸 목표로 하자!
알고리즘 · 자료구조
・
알고리즘
・
자료구조
・
운영체제
2024. 10. 06.
1
[인프런 워밍업클럽 CS 2기] 1주차 발자국
이번주 공부 학습 내용운영체제폴링 방식: CPU가 입출력 관리자에게 명령을 내리고 주기적으로 상태를 확인하는 방식.인터럽트: 폴링 단점을 해결. 입출력 완료 시 CPU에 알림을 주고 작업을 계속 진행.하드웨어 인터럽트: 입출력 장치 (키보드, 마우스 등).소프트웨어 인터럽트: 프로그램 오류 시 발생 (예: 0으로 나누기).프로그램과 프로세스:프로그램: 저장된 명령문의 집합.프로세스: 실행 중인 프로그램.멀티 프로그래밍: 메모리에 여러 프로세스를 올림.멀티 프로세싱: CPU가 여러 프로세스를 처리.PCB: 프로세스 정보를 저장. 생성, 준비, 실행, 대기, 완료 상태로 관리.프로세스 상태:준비: CPU를 기다리는 상태.실행: CPU를 할당받은 상태.대기: 입출력 요청 중인 상태.완료: 프로세스 종료 상태.컨텍스트 스위칭: 프로세스 간 전환 시 상태 저장 및 복구.CPU 스케줄링 목표: 자원 사용률 극대화, 공평성, 처리량 최적화, 대기시간 감소.자료구조와 알고리즘자료구조: 데이터 구조와 사용 방식을 정의.알고리즘: 문제 해결을 위한 확실한 방법.배열: 읽기와 쓰기가 빠름 (O(1)).연결 리스트: 중간 삽입, 삭제가 쉬움.스택: FILO, 작업 되돌리기와 같은 기능.큐: FIFO, 운영체제 스케줄링 등에 사용.덱: 양쪽에서 삽입/제거 가능한 자료구조.해시 테이블: 키-값 쌍 저장. 빠른 접근 (O(1)).셋: 중복 허용하지 않음, 해시테이블 사용.일주일 간의 학습 내용 대한 간단한 회고일요일까지 목표 강의까지 완주 했다는것에 첫 번째로 만족하고, 바쁘다는 핑계나 귀찮다는 핑계로 평일 저녁이나 쉬는날에라도 학습을 하지않아서 주말에 몰아서 봤던거에 대한 반성을 하게 됩니다 ㅠㅠ다음주부터는 미루지 않고 하루에 제공되는 챕터를 꾸준히 공부하는 방식으로 바꾸도록 노력 할겁니다!
알고리즘 · 자료구조
・
알고리즘
・
자료구조
・
운영체제