728x90
https://www.acmicpc.net/problem/2798
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
//1. 카드개수(N), 블랙잭 숫자(M) 입력받기
//2. 카드개수만큼 숫자 입력받기
//3. 숫자카드 3개 더한 값 중에 M에 가까운 수 구하기
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N=sc.nextInt();
int M=sc.nextInt();
int[] cardNums = new int[N];
for(int i=0;i<N;i++){
cardNums[i]=sc.nextInt();
}
int sum=0;
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
for(int k=j+1;k<N;k++){
int temp= cardNums[i] + cardNums[j] + cardNums[k];
if(temp>sum && temp<=M){
sum=temp;
}
}
}
}
System.out.println(sum);
}
}
쉽게느껴지다니 나도 발전했나보군.
오늘은 컴파일 에러도 안남.
맨처음 풀면 컴파일 에러 기본인데 ㅋㅋ 장족의발전이군
+ 복습 2220717
//입력받을 값의 개수 N
//넘으면 안되는 수 M
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int[] nums = new int[N];
for(int i = 0;i<N;i++){
nums[i]=sc.nextInt();
}
int biggestSum = 0;
for(int i=0;i<N-2;i++){
for(int j=i+1;j<N-1;j++){
for(int k=j+1;k<N;k++){
int temp = nums[i]+nums[j]+nums[k];
if(temp==M){
biggestSum=temp;
}
if(temp>biggestSum && temp<=M){
biggestSum=temp;
}
}
}
}
System.out.println(biggestSum);
}
}
728x90
'with my rubber duck > codingTest' 카테고리의 다른 글
[백준 18870] 좌표압축 시간초과파티 + 복습 (0) | 2022.07.19 |
---|---|
[백준 7568] 덩치. 뭐가 틀렸다는거임 + 해결 (0) | 2022.07.18 |
[백준 10870] 피보나치 수 5 풀기 (0) | 2022.07.14 |
[백준 1978]소수찾기. 소수 몇번짼데 아직도 헤매는지 모르겠네 (0) | 2022.07.13 |
[백준 1316] 그룹단어 체크 + 복습 !! (0) | 2022.07.12 |
댓글