: Brute(무식한) + Force(힘)완전탐색 알고리즘. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족되는 결과만을 가져옴. 이 알고리즘의 강력한 점은 예외 없이 100% 정답을 찾는다.브루트 포스 알고리즘을 설계할 때, '해가 하나 이상 존재한다'
java.util.Scanner 클래스기본 유형과 문자열을 구문 분석 할 수 있는 간단한 텍스트 스캐너내부적으로 정규식을 사용하여 다른 유형을 읽기 기능Java 프로그램에서 입력을 읽는 가장 쉬운 방법특정 데이터 유형을 읽기 위해 사용할 함수 nextInt(), nex
: 큰 문제를 작은문제로 나누어 푸는 문제를 일컫는 말. '다이나믹'이라는 단어는 이 기법과 아무런 상관이 없다.작은 문제가 중복이 일어나는지 안일어나는지가 차이가있다.분할 정복은 문제를 분할했을 때 겹치는 문제가 발생하지 않지만, DP는 겹치는 문제가 발생하기 때문에
: "매 선택에서 지금 이 순간 당장 최적의 답을 선택하여 적합한 결과를 도출하자"라는 모토를 가지는 알고리즘 설계 기법그리디 알고리즘은 기본적으로 무조건 큰 경우대로, 무조건 작은 경우대로, 무조건 긴 경우대로, 무조건 짧은 경우대로 등으로 극단적으로 문제에 접근한다
: 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법Quick Sort나 Merge Sort로 대표되는 정렬 알고리즘 문제가 대표적이다.분할 정복 알고리즘은 보통 재귀 함수(recursive function)를 통해 자연스럽게 구현된다. 예를 들