
절댓값 힙

자료구조 문제풀이

11279 최대힙이 문제는 처음에 입력 받은 수 N개 만큼 입력이 들어온다. 그리고 그 입력을 처리하는 경우는 두가지로 나뉜다. 첫 번째는 자연수인경우다. 이 경우에는 큐안에 그 입력값을 넣으면 된다. 두 번째는 “0”인 경우이다. 이 경우에는 큐 안의 가장 큰 값을

스택

그래프란 “여러 개체들이 연결되어 있는 자료구조”이고 이 개체들 중에서 특정 개체를 찾는 즉, 탐색하는 알고리즘이라고 그래프 탐색 알고리즘이라고 불리는 것이다. 경로 탐색 유형 : 최단거리, 최소시간네트워크 유형(연결) : 연결되어있는 그룹의 개수, 두 개체가 같

2178 미로탐색 DFS를 써서 풀었지만 시간초과가 떠서 BFS로 풀었다. 문제를 보고 두개 중에 어떤 것으로 풀어야할지 방법을 찾아야할 것 같다.

알고리즘 수업 - 깊이 우선 탐색 1Input1 : mirkovC4nizCC44Input2 : C4output : mirkovniz 가. stack에 input1의 인덱스값 하나씩 추가한다. 나. 추가하는 도중 끝을 기준으로, Input2 가 발견되면 해당 길이만큼

이 문제는 N개의 퀸을 NxN 체스판에 놓을 수 있는 경우의 수를 구하는 문제이고 Input은 1과 15사이의 정수이며 Output 또한 경우의수, 즉 정수이다. 이것은 내가 놓은 체스가 마지막 행까지 왔을 때 경우의 수를 하나 추가하는 방법으로 문제를 풀 수 있다

DFS

동적 프로그래밍 정리본

누적 합 알고리즘 정리본

DP 유형 문제풀이

DP

누적 합

이 문제는 색종이를 자르는데 특정 구역이 같은 색깔이면 그만 잘라서 각 색깔 구간의 수를 구하는 분할정복 문제이다. 가. 먼저 N이 8인경우를 그려본다. 나. 이중 for문을 돌려서 맨 처음 값과 비교하는

백준 2252 줄 세우기가. 위상이란? 일단 먼저 위상정렬에서 “위상”이 가지는 의미를 알아보자. 위상이란 “어떤 사물이 다른 사물과의 관계 속에서 가지는 위치나 상태”를 의미한다. 즉 위상은 물체 사이의 관계를 의미하고 위상정렬에서는 이 관계가 “어떤 물체의 선행”

2667 단지 번호 붙이기방문처리를 좌표가 큐에 들어갔을 때 수행한다. 방문처리를 큐에서 나온순간 하면 나중에 큐에 들어갈 좌표들이 중복으로 처리되는 경우가 있기 때문이다. 가. 탐색 중 조건이 만족하고 좌표를 큐에 넣는 순간 방문처리를 해야 나중에 큐에 중복된 좌표

BFS를 활용한 유기농 배추 애벌레 개수 구하기 문제이다. 풀이법이 궁금하면 클릭해주세요!

11725 트리의 부모 찾기 업로드중..dfs에서 다음 좌표에 dfs 시전하기 전에 부모노드 저장해놓는 배열에 부모노드값 저장해놓는다 파이썬의 기본 재귀 스택이 최대 1,000이라는 것을 처음 알게 되었고 sys.setrecursionlimit를 10^6까지 해놓고

2468 안전 영역sample 쉬운 문제였는데도 비가 오지 않는 경우도 고려해야하고 3중 for문이 들어가다 보니 고려할게 많아져서 신경쓸게 많았다. 하지만 단계별로 디버그를 하면서 이를 해결하였다.

빅 오메가빅 세타빅오가. 하나의 for문에서 빅 세타 표기법 시간 복잡도는 N/2 이다.나. 코테에서는 빅오표기법(최악)을 사용하는 것이 좋다.다. 파이썬은 1초에 2000만번의 연산라. 시간복잡도는 상수 무시

📒 해결 과정 1️⃣ 익은 토마토(1)의 좌표를 전부 큐에 넣는다. 2️⃣ 날짜를 매트릭스 좌표값에 저장할 것이므로 큐에서 꺼낸 좌표가 가리키는 값에

14502 연구소BFS와 DFS참고 사항0 : 빈칸1 : 벽2 : 바이러스dfs를 사용하여 벽을 세울 때, vst를 사용할 필요가 없다. 왜냐하면 벽을 세우면서 해당 좌표값을 1로 변경하기 때문이다.copy 라이브러리의 deepcopy를 사용하여 bfs할때마다 매번 매

🔍 Problem 10026 적록색약 ⚡️ 사용한 알고리즘 >sample 📃 Input&Output 📥 Input : sample 💡 Output : sample 📒 해결 과정 1️⃣ 시작 위치를 큐에 넣는다 2️⃣ 큐가 빌 때까지 다음

1463 1로 만들기다이나믹(동적) 프로그래밍이전 값의 최선이 현재 값의 최선이라는 것을 기억하자. 그렇기에 항상 최선의 값을 구해주는 수식을 넣어줘야한다.굉장히 어려웠던 것이, 이전 값을 하나하나씩 차곡차곡 쌓아간다는 것을 받아들이기가 어려웠다. 물론 직접 하나씩 해

9095 1,2,3 더하기1️⃣ 1부터 1,2 그리고 3의 덧셈 조합으로 되는 경우의 수를 구해본다. sample

1003 피보나치 함수1️⃣ 피보나치 함수 트리를 그려보면 이진트리가 다음과 같이 나온다.사진에서 f(7)의 f(3)의 개수를 구하려면 f(6)의 f(3)의 개수와 f(5)의 f(3)의 개수를 더하면 된다. 이것을 점화식으로 나타내보면$f_k(n) = f_k(n-1)

11726 2×n 타일링DP1️⃣ 각 경우의 수를 차례로 구해본다.2️⃣ 다음과 같이 점화식을 구할 수 있다.$dpi=dpi-1+dpi-2$가. 꼭 문제의 흐름을 파악할 필요가 없다.😂필자는 위 문제를 풀때, n=3인 경우, n=2인 경우에 양쪽에 +1을 하는 경우의

2579 계단오르기DP1\. DP를 풀 때는 결과론적인 생각을 하자 즉, 뒤에거는 앞에것들을 가지고 완성시키는 것이다. 이 문제의 핵심은 일단 뒤에있는 계단을 올라갔다는 전제하에, 어떤 방식으로 올라올 수 있는지에 대한 경우의 수를 생각하고 그 경우의 수들 중에 최대

🔍 Problem 12865 평범한 배낭 ⚡️ 사용한 알고리즘 >DP 📃 Input&Output 📒 해결 과정 1️⃣ DP 매트릭스를 그립니다. 세로 : 가방에 넣을 수 있는 최대 무게 가로

🔍 Problem 9251 LCS 📃 Input&Output 📒 해결 과정 1️⃣ 각 문자열을 한칸씩 늘려 부분 수열이 있는지 비교한다. 그리고 부분수열 길이의 최대 길이를 dp에 저장한다. 2️⃣ 다음 2가지 경우를 생각하며 dp를 채운다. **가.

🔍 Problem [link] 📃 Input&Output 📒 해결 과정 1️⃣ 시작 위치를 큐에 넣는다 2️⃣ 큐가 빌 때까지 다음을 반복한다 ➊ 🧺 큐에서 현재 위치를 꺼낸다 ➋ 🔍 현재 위치에서 상, 하, 좌, 우 방향으로 이동 가능한 좌

🔍 Problem 11053 가장 긴 증가하는 부분 수열 📃 Input&Output 📒 해결 과정 1️⃣ 일단 그려본다. 가. sample >sample sample ❗트러블슈팅 sample 💻 Code 🎸 기타 가. 한 줄 입력 나. 숫자

DP개념으로 많이 쓰여지는 정수 삼각형 문제에 대한 풀이입니다. 😄

DP와 Java를 사용하여 해결한 나선형 파도판 수열 문제 풀이입니다.

그리디 알고리즘과 문자열 분리 함수를 사용한 문제풀이 입니다.

그리디 알고리즘을 사용하여 해결한 백준 11399 ATM 문제풀이 입니다.

greedy 문제

그리디 알고리즘을 사용하여 해결한 백준 16953 A-B 문제풀이입니다. 연산과정 중 최선의 결과를 내기위해 현재 값에서 다음 값으로 계산하는 최선의 경우의 수를 1가지로 정해놓는다는 점에서 그리디라고 생각했습니다.

Greedy 알고리즘을 사용하여 해결한 백준 백준 1931 회의실 배정 문제 풀이입니다.

Greedy 알고리즘을 사용하여 해결한 백준 1715 카드정렬하기 문제 풀이입니다.

그리디 알고리즘과 우선순위 큐를 사용하여 해결한 문제의 풀이입니다.

이분탐색 라이브러리 함수를 사용하여 해결한 문제입니다.

이진탐색을 사용하여 해결한 나무자르기 문제풀이입니다.

이분탐색의 대표적인 문제인 랜선자르기이고 해당 문제의 문제풀이이다.

플로이드 워셜 알고리즘을 사용하여 해결한 경로찾기 문제 풀이입니다.

플로이드 워셜 알고리즘과 우선순위 큐 자료구조를 사용하여 해결한 케빈 베이컨 6단계 법칙 문제의 풀이입니다.

유니온 파인드와 해시맵을 사용하여 해결한 문제풀이입니다.

경로압축을 사용한 유니온 파인드 알고리즘을 사용하여 해결한 문제풀이입니다.

유니온파인드를 사용하여 해결한 백준 1976 여행가자 문제의 풀이입니다.
단순 구현 문제입니다.
브루트포스를 사용한 구현 문제입니다.
자바에서 집합을 표현할 때 사용되는 자료구조로, 정렬이 되지않고 중복을 허용하지 않는다.
백준 구현 타입 문제 풀이 입니다.
단순 재귀 함수 구현
단순 구현 문제입니다.

MST 카테고리에 넣는게 맞는지 애매한 문제였다.

MST 이론 설명 글입니다.

우선순위 큐로 구현한 최소힙에서 MST 알고리즘을 사용하는 방식으로 해결하였습니다.

MST를 활용하여 해결한 백준 문제 풀이입니다.

MST와 우선순위 큐를 사용하여 해결한 문제입니다.

투포인터!

엔트리 이 친구 물건이네

HashMap을 초기화하는데 아주 편리한 함수입니다!

프로그래머스 의상가. 문제 설명각 의상 타입별로 입을지 말지를 선택한 다음 모든 경우의 수를 구하는 문제였다.두번째 인덱스 값이 의상 타입이다.나. 접근 방법첫번째 인덱스 값인 의상이름은 사실 신경 쓸 필요 없고 두번째 의상 인덱스값의 카운트만 HashMap으로 옷 입

Key와 Value 기준으로 정렬하기

char의 원시형은 Character

큐를 사용하여 해결

프로그래스 정렬 문제

체육복을 앞뒤사람에게 어떻게 효율적으로 줄 수 있을까?

DP를 사용한 문제입니다.

DP의 기본중에 기본

DP로 해결 가능

DFS로 해결한 문제입니다. 사진은 DFS 메서드 호출 부분입니다.

BFS 미리보기

BFS를 이용하여 구한 최단거리입니다.

BFS문제입니다.

BFS 및 구현 문제입니다

버블 정렬의 원리를 알고 있어야 해결할 수 있는 문제이지만 "왼쪽으로 가장 많이 이동한 횟수 = 내부루프 중단 시점" 이라는 로직을 떠올리기 어려운 문제

피벗이라는 계속 변경되는 index 기준으로 계층적으로 정렬하는 알고리즘이란다

백준 11004 K번째 수 구하기 문제풀이

시간복잡도 중 가장 헷갈리는 log N과 NlogN을 도춣해보자

합병정렬 그리고 Merge Sort라고도 불린다.

Best for SKill 실력대비 최고..? 뭔말인고(표지는 해당 내용과 아무 관련이 없다. 하지만 아무것도 관련없는 것이 때론 아주 깊이 관련있을 때도 있으니까)

드디어 풀었다..백준 13023ArrayList에 Initital Capacity를 초기에 잡아줘도 실제 size는 0이다.위 13023같은 문제는 모든 노드를 출발점으로 하여 DFS를 하기 때문에, 2차원 연결 정보 그래프보다 ArrayList를 사용하는 것이 TLE