백준 문제풀기/JAVA
[백준 15720 JAVA 자바] 카우버거
냉동피자
2023. 8. 27. 16:14
버거와
사이드와
음료수를 삽니다
3개를 사면 세트할인 10%가 들어 갑니다
1000 2000
1000
1000 이 입력된다면
세트는 1000 1000 1000 이 아닌 2000 1000 1000으로 묶어서 400원 할인을 받아야겠죠?
이 문제는
1. 총 몇개의 세트를 구매했는가
2. 최대한 할인을 받는 방법
을 코딩하는게 핵심입니다
코드입니다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int min = a<b?a:b;
min = min<c?min:c;
int allsum = 0;
int[] arra = new int[a];
int[] arrb = new int[b];
int[] arrc = new int[c];
st = new StringTokenizer(br.readLine());
for(int i=0; i<a; i++) {
arra[i] = Integer.parseInt(st.nextToken());
allsum += arra[i];
}
st = new StringTokenizer(br.readLine());
for(int i=0; i<b; i++) {
arrb[i] = Integer.parseInt(st.nextToken());
allsum += arrb[i];
}
st = new StringTokenizer(br.readLine());
for(int i=0; i<c; i++) {
arrc[i] = Integer.parseInt(st.nextToken());
allsum += arrc[i];
}
System.out.println(allsum);
allsum = 0;
Arrays.sort(arra);
Arrays.sort(arrb);
Arrays.sort(arrc);
for(int i=a-1; i>=a-min; i--) {
arra[i] *= 0.9;
}
for(int i=b-1; i>=b-min; i--) {
arrb[i] *= 0.9;
}
for(int i=c-1; i>=c-min; i--) {
arrc[i] *= 0.9;
}
for(int i=0; i<a; i++) {
allsum += arra[i];
}
for(int i=0; i<b; i++) {
allsum += arrb[i];
}
for(int i=0; i<c; i++) {
allsum += arrc[i];
}
System.out.print(allsum);
}
}
어렵게 코드가 나와버렸네요 ㅋㅋ