profile
amazing idiot

[leetcode] design-circular-deque

문제: https://leetcode.com/problems/design-circular-deque/submissions/ 참고도서: 파이썬 알고리즘 리뷰 1. 접근방법 자료구조를 구현하는 문제이기에 직관적으로 접근했다. deqeue는 python collections 모듈에 linked-list 로 구현되어있음 head, tail node를 지정하고 이를 이용해서 데이터를 삽입, 삭제하도록 함 2. 풀이 3. 후기 add, del의 과정을 머릿속으로 생각해봤다. _add: target node, New node 두가지를 받아서 Target Node의 오른쪽에 New node를 붙여준다. insertFront 는 target에 head를 넣어서 구현 가능하다 _del: target node를 삭제한다. 책에서 제시한 내용은 target node를 받아서 오른쪽의 노드를 삭제한다. 하지만 난

2023년 5월 25일
·
0개의 댓글
·

[leetcode] remove-duplicate-letters

접근 방법 '사전식 순서로 나열해야한다' 에 집중하면 set을 활용해서 sorted를 수행할 수 도 있다. 하지만 eabcd 처럼 e의 위치를 옮길 수 없을 경우에 문제가 생긴다. 순차적으로 글자를 확인해 가면서 그 뒤에있는 문자열(suffix)에서 중복을 제거시키는 방법으로 구현 가능하다. 또한 stack과 counter를 이용해서 stack에 집어넣어두고 counter > 0 의 조건하에 stack에서 빼버리는 식으로 구현하면 사전식 순서를 유지하면서 중복된 문자를 제거할 수 있다. 중요한건 사전식 순서를 유지하면서 가장 빠르게 찾을 수 있는문자열을 출력하는 것이다. 풀이 풀이1: suffix를 이용한 재귀식 구현 풀이2 : stack, counter 활용 후기 왜 이렇게 풀지? 라고 생각하면서 무작정 set을 시도했다가 실패했다. 처음 설명했던 것처럼 제일 앞에 온 글자가 늦은 순서라

2023년 4월 14일
·
0개의 댓글
·