\*18년도 카카오 기출 방금 그 곡 문제 풀이 도중n^2(문자열 간의 관계이니 정확히는 len_str1\*len_str2)연산이라고 생각해서 KMP를 구현하려고 했다.그 전에 확인 차 n^2으로 생각하는 그냥 find를 사용하는 방법을 해서 풀었는데,시간 초과 없이
DeadLock원형 테이블에서 철학자가 각자 1개씩의 포크를 집어들고 있게 된다면,포크라는 자원은 1/2의 철학자를 먹일 수 있음에도 불구하고먹지 못하게된다.이러한 교착상태를 DeadLock이라고 한다.데드락을 제거하는 방법에는 아래 3가지 방법이 일반적이라 한다.예방
2146섬들 별로 소속을 가지게 해야할 필요가 있다.섬들에 번호를 매기는 방식으로 가는 경우 bfs1()은 값이 있는지 본다음 트루면 섬의 번호를 ++origin에 방문한걸 0으로 남기고, 섬의 끝부분을 1로 남기면 bfs1()이섬의 끝부분1에 대해서 다시 돌게되므로
코드현재 위치가 0,1이냐를 볼 것이 아니고,부수고 왔느냐, 아니냐에 대한 히스토리가 중요하다즉 자신의 발자취를 큐에서부터 뽑을 수 있어야한다 (결국 큐에 담아야함)0 : 벽을 부수지 않고 현재의 위치에 도달한 경우.1 : 벽을 한 번 부수고 현재위치에 도달한 경우.현
시리즈 12번 코드계수의 범위로 할 수 없을 경우 check를 숫자 자체에 대해 하기보다 idx로 한다checkidxi중복을 고려하는 경우 :: m개까지는 뽑아내겠다for문 내 checki == m:continue오름차순 고려 :: for문 내 dfs(cnt+1, i+
큐에 넣을 거 우선순위 결정 (서로 영향을 줄 수 있음)종결조건 꼼꼼히 확인 (bfs는 q가 끝날때까지 돌아야하는 경우가 많고, 이번 케이스는 아예 벡터가 밖일때를 값으로 모았어야했다.(바로 리턴도 안됌. 더 짧은게 있었을 수 있음)
2579 계단오르기와 다르게, 0이 있으므로해서0을 취하는 경우 바로뒤에 큰 수가 오는 경우 이를 취하지 못한다.그렇다고 0을 입력받은 것에서 지우는 것은 안된다. 0이 있기 때문에 0바로 전의 max에서 0후의 값을 취할 수 있도록 되어 있기 때문.ㄴ> 따라서 미
다익스트라방향/무방향 그래프에서 하나의 정점에서 모든 정점까지의 최단거리를 찾아주는 알고리즘플로이드는 음수인 간선은 문제가 없고 음수의 싸이클이 존재할때 쓸 수 없다.다익스트라는 간선이 음수이면 사용불가하다.방법root를 check에 확정한다.root-root 거리는
플로이드 알고리즘모든 정점 쌍 사이의 최단거리를 구해주는 알고리즘(방향 / 무방향 상관없음)1번 노드를 반드시 거치는 것과 현재 테이블의 값과 비교 후 비용의 총합이 더 작은 것을 갱신2\. 1번 을 노드의 수만큼 반복
그래프의 표현 방식에는 2가지가 있다.인접행렬 방식인접 리스트 방식인접 행렬 방식의 경우두 정점 사이의 연결을 살필때 : O(1) 정점을 V개라한다면 모두 흝어도 O(V)공간은 V\*\*2만큼 필요함.받는 방식
선행지식1\. sigaction및 unix signal관련 개념2\. PID등.3\. Inter-Process Communication4\. 결국 프로세스란??https://velog.io/@24siefil/minitalk-Inter-Process-Commun
va_arg(ap,type)에서 문자 형 받으려면 int로 받는다.https://stackoverflow.com/questions/28054194/char-type-in-va-argint이하 용량은 다 인트로 받고 형변환한다.예시 :c = (char)va_ar
보석 최대 갯수 중복없이 체크 일반적으로 하면 n^2이라 풀 수 없음처음에 DP를 생각함. 선이 계속 중복으로 그어지기 때문.정석풀이는 투포인터라고들 하는데 불현듯 해시가 떠올랐다.연결된 것을 따지는 거기 때문에 배열보다는 리스트 계열과 유사한 성질을 가질것으로 판단중
파이썬이 느려서 대각선 체크까지 구현해야함같은 대각선에 위치한 y,x가 같은 인덱스를 가지게 하려면 약간의 테크닉이 필요한데,기울기가 1인 대각선은usedy+x로 놓으면 같은 대각선을 공유한다.기울기가 -1인 대각선은used2n-1+y-x로 놓으면 동일 대각선을 공유하
처음에 DP 생각했으나 아무리해도 n^2이라 스택으로 생각을 바꾸었음스택에 있는 값을 뺄 때, 그 값이 바라보는 것의 갯수로 생각하면 이것도 n^2발상 전환 필요했음스택의 값을 뺄 때, top 이 바라보는 것의 갯수가 아닌, top을 바라보는 건물들의 갯수 == sta
LVM\-disk : 물리적인 디스크\-partition : 물리적인 디스크를 용도별로 나눈 것. (디스크 자체 1개로 써도 상관은 없으나 인식하도록 포맷하는 과정이 있어야 공간을 쓸 수있다.)\-physical volume : 이 파티션에 대해 논리적으로 인식시키는
순서1\. sudo 설치2\. visudo 셸 입력 후 이해할것.3\. 로그 경로 저장 4\. 유저추가 - 그룹 sudo, user42추가5\. 방화벽 설치6\. ssh설치 및 설정 이해하기7\. 포트포워딩 후 동작확인 (루트 불가하도록)8\. 패스워드 설정 및 명령어
최초에는 deep copy를 사용했다.BFS는 기본적으로 방문체크를 하고 방문했으면 continue를 해야 연산이 O(n)인데,4개이상의 젤리가 만나는지 확인하려면 결국 방문처리로 확인해나가야한다.방문처리로 값을 바꾸면서 나아가다가 4개 미만이면 원본을 유지해야 하기