각 자리수 합 구하기
조건문과 반복문 잘 활용하기
dp 첫걸음
브루트포스로 해결해보자!
체스판은 두 경우가 존재한다!
시간복잡도를 고려해서 브루트포스를 적용하자!
4를 만들 수 있는 조합에 주목하자
DP와 백트래킹 둘중 하나를 선택해서 풀 수 있는 문제
백트래킹, 수식에서 연산자를 어떻게 결정할지 깊게 생각해보자.
구현, 비어있는 공간의 넓이를 구하는 방법
전형적인 브루트포스 문제
색종이랑 똑같은 문제
compareTo잘 활용하기, 그리고 공동순위 알고리즘 익혀두고 있자.
신박한 브루트포스 문제
문제이해가 중요한 문제. 자신보다 왼쪽에 존재하는 큰 수의 개수가 어떤 값을 의미하는지 이해하자.
compareTo 잘 구현하기
전형적인 dp문제
괄호 내부의 값이 최대가 되도록 만들어주자
절사평균 구하기
문제를 잘 읽고 풀자
매 시간마다 다리의 상황을 관리하는 법에 대해서 생각해보자
규칙찾기, 어떻게 풀지 미리 생각하기
반복하지 않는 수열을 어떻게 판단할 것인가
병합 정렬을 의사코드를 따라가며 짜보기, 호출 회수가 많은 메서드에서는 배열의 초기화를 조심하자.
입력의 크기를 잘 확인하자. 입력의 크기가 너무 크면 무작정 탐색을 시도하지 말고 규칙을 파악하자.
연속해서 증가, 혹은 감소하는 수열의 길이 구하기, 쉬운 dp로도 풀 수 있는 문제
문제에서 말하는 답이 어떤 건지 파악하고 쉽게 풀어서 생각해보자.
문제 설명이 약간은 불친절하다. 진법 변환을 어떻게 수행해야하는지 기억하자.
단순 계산 문제
잘 검사하고 잘 이동시키기. 문제 잘 읽고 코드 헷갈리지 않게 조심하자.
다솜이가 후보자를 이기기 위해 얻어야 할 표를 구하는 방법에 대해서 생각해보자.
왼쪽 두칸, 오른쪽 두칸 중에 가장 큰 값을 현재 값에서 빼고 더하는 문제
백트래킹과 가지치기, N개의 숫자중 두개를 선택하고 교환하여 얻을 수 있는 모든 경우
최대힙과 최소힙을 이용해서 푸는 문제
더하기
마름모 영역 모두 더하기, 종이에 그려보자
경계조건을 잘 확인하자.
전형적인 knapsack문제
모든 정점에 대해서 dfs 탐색, 백트래킹도 함께