조합을 이용한 풀이
dp를 이용한 풀이
dp를 이용한 풀이
dfs를 이용한 풀이
프림 알고리즘을 이용한 풀이
dp를 이용한 풀이
최적화된 Union-Find 알고리즘을 이용한 풀이
에라토스테네스의 체를 이용하여 소수 판별
구간합을 이용한 풀이
dp를 이용한 풀이
위상정렬을 이용한 풀이
최적화된 union-find 알고리즘을 이용하여 풀이
구현 문제
분할정복을 이용한 풀이
그리디 알고리즘을 이용한 풀이법과 Union-Find를 이용한 풀이법
union-find 알고리즘을 이용한 풀이
bfs를 이용한 풀이
백트래킹 + Branch & Bound 전략을 이용한 풀이
분할정복, 메모이제이션을 활용한 풀이
dp를 이용한 풀이
크루스칼 알고리즘을 이용한 풀이
비트마스킹, 그리디 알고리즘을 이용한 풀이
BFS를 이용한 구현 문제
선분 교차 판별, Union-Find 를 이용한 풀이
세그먼트 트리를 이용한 풀이
세그먼트 트리를 이용한 풀이
세그먼트 트리를 이용한 풀이
세그먼트 트리를 이용한 풀이
Union-Find, BFS를 이용한 풀이
벨만-포드 알고리즘을 이용한 풀이
분리집합, Union-Find 알고리즘을 이용한 풀이
bfs를 이용한 풀이
그리디 알고리즘을 이용한 풀이
문제 링크https://www.acmicpc.net/problem/15486대충 봐도 dp 문제라는 것을 알 수 있다.우선 N이 150만까지이므로 O(N)이나 O(NlogN)의 복잡도를 가진 알고리즘을 생각해볼 수 있다.어차피 최댓값만 구하면 되는 문제이므로
문제링크https://www.acmicpc.net/problem/14503N,M의 크기가 50 이하이고, 로봇청소기가 한번 청소한 곳은 청소하지 않고, 탈출 조건도 비교적 간단하여 그냥 구현하면 될 것 같다고 판단하였다.또한 지도의 가장자리는 항상 벽이라 배열
문제링크https://school.programmers.co.kr/learn/courses/30/lessons/67257expression의 길이가 100 이하인 문자열이라 시간에 대한 걱정은 크게 하지 않았다.연산식을 계산할 때 스택 자료구조를 사용하면 좋을
문제링크https://school.programmers.co.kr/learn/courses/30/lessons/148652비트열의 길이는 l,r의 크기에서 찾아볼 수 있다 (5^n)n은 20 이하의 수이고, 5^20은 조 단위의 수 이므로 O(N)보다 좋은 풀
문제링크https://school.programmers.co.kr/learn/courses/30/lessons/152996weights를 순회하면서, 각 무게마다 무게\*2, 무게\*3, 무게\*4 한 값끼리 모아준다. 그리고 모인 사람들 끼리 중복 없이 조합
기본 배열 길이: arr.length 선언 길이 배열 -> List 정렬 이진탐색 값 추가 (append) >Java의 기본 배열은 고정 크기의 데이터라서 처음에 초기화하지 않고 동적으로 값을 추가하는 것이 불가능하여 List형으로 변환하는 작업을 수행해야
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/154538?language=java자연수 x를 y로 변환하려고 한다.y로 변환하고자 할 때, 방법은 아래의 세가지로 가능하다.x에 n을 더합니다x