Code Monkey home page Code Monkey logo

groupstudy_algo_log's Introduction

Hello👋 My name is Heesom I live in South Korea

Tech Blog Badge Instagram Badge

  • ❤️‍🔥 Aspiring developer interested in Web and Infrastucture.
  • 🌱 I mainly use Java, currently trying to perform TDD.
  • 👀 I'm interested in how to be a good co-worker
  • ❓ I think curiosity is my biggest strength
  • 👂 I enjoy to meet developers and listen to them

Language and Tools


Top Langs

groupstudy_algo_log's People

Contributors

anyounggi avatar bonjae9 avatar hjhj-kk avatar jaewook718 avatar jellikim avatar jongwook123 avatar maker-h avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

groupstudy_algo_log's Issues

유니온 파인드 보충할 내용

  • 아기상어 sorted(list, key=lambda x: (x[0], x[1], x[2])) 로 하면 0번째 오름차순 그 이후 1번째 원소 오름차순 그 이후 2번째 원소 오름차순으로 정렬됨
  • main docs 작성자 이름 바꾸기
  • 그래프 dfs, bfs 하고 문제 풀기
  • 마인크래프트 문제 제외 하고 다른거 하나 추가

그래프 보충해야 할 부분

  • 방문체크와 관련된 문제들 표시 + 특이사항으로 추가
    백준 16509 : 장군 (코드 및 해설)
    -> 상하좌우로 인접한 곳만 가지 않고, 독특한 방법으로 움직일 때 bfs 진행해보기!
  1. 백준 2206 : 벽 부수고 이동하기 (코드)
    -> 글에서 '방문체크에 대해 좀 더 써봄'을 쓰게된 계기가 된 문제

  2. 백준 14442 : 벽 부수고 이동하기 2 (코드)
    -> '6'에서 좀 더 진화함! 개념은 동일함.

  3. 백준 1175 : 배달 (코드)
    -> 요정도 한다면 방문체크로 고생할 일도 앞으로 거의 없을것임.

  4. 백준 2424 : 부산의 해적 (코드)
    -> 요정도 한다면 뭐 코테수준에서 bfs로 문제생길일은 없을 것임

https://www.acmicpc.net/board/view/27386

https://velog.io/@kimdukbae/BOJ-2206-%EB%B2%BD-%EB%B6%80%EC%88%98%EA%B3%A0-%EC%9D%B4%EB%8F%99%ED%95%98%EA%B8%B0-Python

split join

기타연산

join(self, a)

  • 리스트 뒤에 a 리스트 결합
  • O(1) - splice 사용
def join(self, a):
	if a.size == 0:
		return None

	splice(a.head, a.head.prev, self.head.prev)
	self.size += a.size

split(self, x)

  • self를 노드 x 이전과 x 이후의 노드들로 구성된 두 개의 리스트로 분할
  • 노드 x 찾기 위해서는 search 메서드 같이 사용
  • O(1) - 총 6번의 연결로 이루어짐으로 상수시간 내에 해결
def split(self, x):
	tail = self.head.prev	
	
	# 기존 리스트 분리 후 양 끝단 연결
	x.prev = self.head
	self.head.prev = x.prev

	# 분리된 리스트를 새로운 리스트로 만들어준다
	new_doublylinkedlist = DoublyLinkedList()
	
	new_doublylinkedlist.head.next = x.next
	x.next.prev = new_doublylinkedlist.head

	new_doublylinkedlist.head.prev = tail
	tail.next = new_doublylinkedlist.head

	# size 조정은 아래로

size 수정 방법 (미해결)

  1. 각 리스트 안 노드의 개수가 몇 개 인지 찾은 다음에 빼기 혹은 더하기. → w.c에 따르면 O(n)이 된다
  2. 위의 기능을 search_idx 함수로 분리
  3. 노드에 인덱스를 나타낼 수 있는 변수 추가 → O(1) 내에 가능

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.