배열을 다루는 방법과 형 변환 방법을 익혀보자!
long 타입은 정수형 타입에서 가장 큰 타입이다!
Comparator 인터페이스를 사용해 문자열 비교 기준을 만들어 보자!
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수를 만들어 보자!
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하는 함수를 작성해 보자!
Map이란, 자바에서 각각의 대응 관계를 쉽게 표현할 수 있게 해주는 자료형이다! 그리고 HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다!
하노이의 탑 문제는 재귀의 특성을 잘 담고 있는 대표적인 문제이다! 규칙을 점화식으로 표현하고 코드로 구현 해보자!
먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열과 각 작업의 개발 속도가 적힌 정수 배열이 주어질 때 각 배포마다 배포되는 기능의 개수를 구해보자!
힙(Heap)을 사용해 문제를 풀어보자!
이중 우선순위 큐를 활용해 문제를 해결해 보자!
배열과 ArrayList를 활용해, 두 카드 뭉치로 원하는 문장을 만들 수 있는 지에 대한 여부를 반환하는 함수를 만들어보자!
H-Index는 과학자의 생산성과 영향력을 나타내는 지표이다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 구해보자!
ArrayList 대신 Hash Set을 사용해 실행 시간을 줄여보자!
Hash Map을 활용해 문제를 해결해 보자!
Trie 자료구조는 문자열을 효율적으로 저장하고 검색하기 위해 설계된 트리 기반의 자료구조이다.
DFS를 활용하여 모든 가능한 모음 조합을 생성하며, 각 조합이 주어진 단어와 일치하는 지 확인하는 문제이다!
DFS를 활용해 촌수 관계를 계산해보자!
DFS를 활용해 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 구해보자!
그리디 방식을 사용해 무인도에 갇힌 사람들을 구명보트로 구출해 보자!
어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구해보자!
동적 계획법(Dynamic Programming)을 이용해 피보나치 수를 계산해보자!
동적 계획법(Dynamic Programming)을 사용해 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달할 수 있는 방법의 수를 구해보자!
민수를 마법의 엘리베이터에 태워 0층으로 복귀시켜보자!
대충 만들어진 자판으로 목표 문자열을 만들어 보자!
가중치 그래프를 DFS로 탐색해 문제를 해결해보자!
HashMap을 사용해 탐색 시간을 줄여보자!
원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우의 수를 구해보자!
substring() 메서드를 사용해 문자열을 회전 시켜 보자
Dynamic Programming 기법을 사용해 주어진 배열 안에서 가장 긴 오름차순 순열의 길이를 구해보자!
Binary Search를 사용해 효율적으로 배열을 탐색하는 방법을 익혀보자!
영우는 개구리다 개굴개굴
DFS를 활용해 메리가 무인도에서 얼마나 생존할 수 있는 지 구해보자!
BFS를 사용해 리코쳇 로봇을 목적지로 옮겨보자!
DFS를 활용하여 주어진 숫자들을 조합해 원하는 숫자를 만들어 보자!
BFS를 통해 출발점에서 도착점까지 가는 최단 거리를 구해보자!
BFS를 사용해 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추어 보자!
백트래킹(backtracking) 기법을 사용해 조합 가능한 모든 순열을 만들어 보고, 조건에 해당하는 순열을 구해보자!
그리디 기법을 통해 남은 병사로 연속되는 적의 공격을 막아보자!
그리디 기법을 사용해 가지고 있는 곡괭이들로 광물들을 최대한 효율적으로 캐보자!
Dynamic Programming 기법을 적용해 점화식을 구해보자!
Dynamic Programming 기법을 통해 장애물을 피해 목적지까지 가는 경로의 수를 구해보자!