풀이
- 우선 6개 통 구매 가격, 낱개 구매 가격에 대한 배열 생성 후 값 변경한 다음 정렬
- 이후 낱개 6개와 6개 통 구매의 금액 비교로 조건 분기를 하며
- 통 구매가 더 적은 경우엔 m을 6으로 나눈 몫 만큼만 통으로 구매한 다음
- 나머지 개수를 낱개의 값으로 곱한것이 통으로 구매한 가격보다 큰지에 대한
- 조건분기 처리를 한 번 더 하여 문제 해결
import java.io.*;
import java.util.*;
public class 기타줄 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st1 = new StringTokenizer(br.readLine());
int m = Integer.parseInt(st1.nextToken());
int n = Integer.parseInt(st1.nextToken());
ArrayList<Integer> f_li = new ArrayList<>();
ArrayList<Integer> li = new ArrayList<>();
int result = 0;
for (int i = 0; i < n; i++) {
StringTokenizer st2 = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st2.nextToken());
int y = Integer.parseInt(st2.nextToken());
f_li.add(x);
li.add(y);
}
Collections.sort(f_li);
Collections.sort(li);
if (li.get(0)*6 > f_li.get(0)) {
result = (m/6)*f_li.get(0);
if (m%6* li.get(0) > f_li.get(0)) result += f_li.get(0);
else result += m%6*li.get(0);
} else result = m*li.get(0);
System.out.println(result);
}
}
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 1021번] 회전하는 큐 (0) | 2023.12.19 |
---|---|
[백준, 자바, 1021번] 회전하는 큐 (0) | 2023.12.19 |
[백준, 파이썬, 1049번] 기타줄 (0) | 2023.12.18 |
[백준, 파이썬, 1159번] 농구 경기 (0) | 2023.12.13 |
[백준, 자바, 1159번] 농구 경기 (0) | 2023.12.13 |