make k+1 as maximum spaceterms: front,rear
leetcode 347. Top K Frequent ElementsNote : You may assume k is always valid, 1 ≤ k ≤ number of unique elements.Your algorithm's time complexity must
Leetcode 3. Longest Substring Without Repeating Characters Hint: use "Slicing Window"
백준 14889. 스타트와 링크Note: Permuation, Combination 헷갈리지 말 것
(Python) 백준 3190번: 뱀뱀은 사과를 먹으면 길이가 1씩 증가한다.뱀이 벽 or 자신의 몸과 부딪히면 게임은 끝난다.NxN 크기의 정사각 보드위에서 게임이 진행된다. 외곽은 벽으로 되어 있다.정사각 보드 위의 몇몇 칸에는 사과가 놓여져 있다.뱀의 첫 시작 위
프린터 큐
백준 1260번참고사항dfs : stack --> 재귀함수, arguments(graph,start,visited)bfs : queue --> from collections import deque, 항상 queue인걸 확인하고 항상 output<--input 기억
2606번: 바이러스문제 해설한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. (그래프 문제)첫째 줄에는 컴퓨터의 수 (컴퓨터의 수는 100 이하)둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨
백준 14052번: 연구소문제 풀이바이러스가 최소로 퍼지는 벽 3개를 골라 빈 칸(0)의 개수를 구하는 문제0: 빈칸, 1:벽, 2:바이러스combinations(조합) 3개 선택, (이 때, 경우의 수를 줄이기 위해서 0에 대한 location 값들을 저장해주어 그
대표적인 그래프 탐색 알고리즘
정리 내용 참고깊이 우선 탐색으로, 깊은 부분을 우선적으로 탐색스택자료구조(OR 재귀함수 이용)탐색시작노드를 스택에 삽입, 방문처리최상단 노드에 방문하지 않은 인접한 노드 추가 & 방문처리방문하지 않은 노드가 없으면, 최상단 노드 꺼냄(popleft())2-3번의 과정
참고
'''' 이진탐색 알고리즘 순차탐색: 리스트 안에있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 이진탐색: 정렬되어 있는 리스트에서 탐색범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 이진탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정함 (O-notation: 로그~) ''' from random import randin...
''' DP(동적 계획법): 메모리를 적절하게 사용하여 수행시간 효율성을 비약적으로 향상시키는 방법 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여, 다시 계산하지 않도록 함 일반적으로 TOP DOWN(하향식)/BOTTOM UP(상향식-전형적임) 방법이 있음 동적: 프로그램이 실행되는 도중에~ 조건 최적 부분 구조(OPTIMAL SUBST...