\(@^0^@)/

[TDL] 07/22 Today's-Done-List 본문

TDL

[TDL] 07/22 Today's-Done-List

minjuuu 2022. 7. 23. 00:35
728x90

- 유데미 알고리즘 이중 연결 리스트

push, unshift, pop, shift
단일 연결 리스트를 배워서 그런지, 그때보다 훨씬 이해가 잘 된다.
내일 나머지 배우고 얼른 문제를 풀어봐야 백 프로 이해할 수 있을 것 같다.

class Node {
	constructor(val) {
		this.val = val;
		this.next = null;
		this.prev = null;
	}
}

class DoublyLinkedList {
	constructor() {
		this.head = null;
		this.tail = null;
		this.length = 0;
	}
	push(val) {
		let newNode = new Node(val);
		if (this.length === 0) {
			this.head = newNode;
			this.tail = newNode;
		} else {
			this.tail.next = newNode;
			newNode.prev = this.tail;
			this.tail = newNode;
		}
		this.length++;
		return this;
	}
	unshift(val) {
		let newNode = new Node(val);
		if (this.length === 0) {
			this.head = newNode;
			this.tail = newNode;
		} else {
			this.head.prev = newNode;
			newNode.next = this.head;
			this.head = newNode;
		}
		this.length++;
		return this;
	}
	pop() {
		if (this.length === 0) return undefined;
		let poppedNode = this.tail;
		if (this.length === 1) {
			this.head = null;
			this.tail = null;
		} else {
			this.tail = poppedNode.prev;
			this.tail.next = null;
			poppedNode.prev = null;
		}
		this.length--;
		return poppedNode;
	}
	shift() {
		if (this.length === 0) return undefined;
		let oldHead = this.head;
		if (this.length === 1) {
			this.head = null;
			this.tail = null;
		} else {
			this.head = oldHead.next;
			this.head.prev = null;
			oldHead.next = null;
		}
		this.length--;
		return oldHead;
	}
}

let list = new DoublyLinkedList();

list.push("HI");
list.push("THERE");
list.push("!!!");
list.push("HOW");
list.push("ARE");
list.push("YOU");
list.push("?");

- 인프런 함수형 프로그래밍 강의


- 제로베이스 JS 프로젝트 강의

글쓰기 에디터

https://dev-minju.tistory.com/281


오후 회고 (만족도: 7)

오늘 집중도는 괜찮은 편이었는데, 스타일링하는 것에 너무 시간을 많이 쏟은 것 같다.
지금 상황에선 그렇게 중요하지 않은 것이었는데 좀 더 이쁘게 꾸미고 싶어서 그만..
그 바람에 react 강의를 듣지 못하였음. 저녁 먹고 들어 보도록 하자.


- 제로베이스 React 강의


저녁 회고 (만족도: 4)

오랜만에 react로 무엇을 구현하려니깐 진짜 기초적인 것들도 다 잊어버린 느낌이다..
최대한 구현해보려 했는데 도저히 생각이 나질 않고, 검색을 하긴 하는데도 뭔가 부족한 느낌..
이제부터 react강의 스킵하지말고 무조건 꾸준히 들어야겠다는 생각뿐이다ㅠ
다른 것들도 좋지만 TS, REACT 구현 위주로 학습하자. 무엇이 중요한지를 생각하고 계획을 수정해야 될 것 같기도.


[ 출처 : JavaScript 알고리즘 & 자료구조 마스터클래스 ]

728x90

'TDL' 카테고리의 다른 글

[TDL] 07/25 Today's-Done-List  (0) 2022.07.25
[TDL] 07/24 Today's-Done-List  (0) 2022.07.24
[TDL] 07/21 Today's-Done-List  (0) 2022.07.22
[TDL] 07/20 Today's-Done-List  (0) 2022.07.21
[TDL] 07/19 Today's-Done-List  (0) 2022.07.19