반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 실패함수
- 연결리스트 중복제거
- Queue
- 정렬
- 문자열
- 브루트포스 알고리즘
- 프로그래머스
- KMP알고리즘
- 수학
- 유클리드 호제법
- 자료 구조
- 구현
- 다이나믹 프로그래밍
- 별 찍기
- 이분 탐색
- LeetCode 83 c언어
- 재귀
- 조합론
- 연결리스트 정렬
- LeetCode 83번
- 큰 수 연산
- 정수론
- 사칙연산
- 스택
- 임의 정밀도 / 큰 수 연산
- 문자열제곱
- LeetCode Remove Duplicates from Sorted List in c
- 큐
- 시뮬레이션
- 해시를 사용한 집합과 맵
Archives
- Today
- Total
hahn
단계별로 풀어보기(브루트 포스 - 블랙잭) 본문
728x90
반응형
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
http://boj.kr/5ddb7ec49bf24de1b886490e97e8c8b9
공유 소스 보기
www.acmicpc.net
더보기
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int cardCount, purposeSum, result, sum;
cardCount = sc.nextInt();
result = cardCount;
purposeSum = sc.nextInt();
int[] arr = new int[cardCount];
for(int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
for(int i = 0; i < arr.length; i++) {
for(int j = i + 1; j < arr.length; j++) {
for(int k = j + 1; k < arr.length; k++) {
sum = arr[i] + arr[j] + arr[k];
if(purposeSum - sum < purposeSum - result && sum <= purposeSum) result = sum;
if(result == 0) break;
}
}
}
System.out.println(result);
}
}
그냥 전부 다 더해서 입력값과 가장 차이가 적은 것을 출력하게 했다.
물론 입력값과 동일하면 break 하고 바로 출력.
728x90
반응형
'코딩테스트 연습 > 백준(JAVA)' 카테고리의 다른 글
단계별로 풀어보기(브루트 포스 - 덩치) (0) | 2021.08.31 |
---|---|
단계별로 풀어보기(브루트 포스 - 분해합) (0) | 2021.08.31 |
단계별로 풀어보기(재귀 - 하노이 탑 이동 순서) (0) | 2021.08.30 |
단계별로 풀어보기(재귀 - 별 찍기 - 10) (0) | 2021.08.25 |
단계별로 풀어보기(재귀 - 피보나치 수 5) (0) | 2021.08.25 |