반응형
https://www.acmicpc.net/problem/2798
* 문제는 해당 게시물 참고바랍니다.
브루트 포스 algorithm이란 모든 경우의 수를 탐색한다는 뜻으로,
완전탐색이라고 하며, 해당 알고리즘의 가장 기본적인 접근방식은 해가 존재할 것으로 예상되는 모든 영역을 전부 탐색하는 것입니다.
해당 문제를 해결한 방법입니다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum=0;
int result =0;;
int n = scanner.nextInt();
int m = scanner.nextInt();
int []array = new int[n];
for(int i=0; i<n;i++){
array[i] = scanner.nextInt();
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
for(int k=j+1;k<n;k++){
sum = array[i]+array[j]+array[k];
if(sum<=m && sum>result){
result = sum;
}
}
}
}
System.out.println(result);
}
}
저는 이렇게 작성하였습니다.
숫자를 입력받는 방식에서
String input = scanner.nextLine();
int n = Integer.parseInt(input);
저는 이렇게 하는 방식을 선호하나, 단순한 문제인만큼 코드를 최대한 간결하기 위해 해당 방식은 사용하지 않았습니다.
반응형
'백준' 카테고리의 다른 글
[백준][JAVA]평범한 배낭(12865번) - 다이나믹 프로그래밍, 배낭 문제 (0) | 2023.08.16 |
---|---|
[백준][JAVA]스타트와 링크(14889번) - 백트래킹 algorithm 그리고 재귀의 이해 (0) | 2023.08.15 |
[백준][JAVA]하노이 탑 이동 순서(11729번) - 재귀 algorithm (0) | 2023.08.10 |
[백준][JAVA]카드2(2164번) - 스택, 큐, 덱 algorithm (0) | 2023.08.08 |
백준 JAVA로 문제 제출방법 (1000번) (0) | 2023.07.27 |