• 문제 링크
1461번: 도서관
세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] arr = new int[n];
int pivot = 0;
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
int input = Integer.parseInt(st.nextToken());
arr[i] = input;
if (input < 0)
pivot++;
}
Arrays.sort(arr);
int cnt = 0;
for (int i = 0; i < pivot; i += m)
cnt += Math.abs(arr[i] * 2);
for (int i = n - 1; i >= pivot; i -= m)
cnt += arr[i] * 2;
cnt -= Math.max(Math.abs(arr[0]), Math.abs(arr[n - 1]));
bw.write(String.valueOf(cnt));
bw.flush();
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 2891 카약과 강풍 - Greedy / Java (0) | 2022.12.28 |
---|---|
[백준] 20044 Project Teams - Greedy / Java (0) | 2022.12.27 |
[백준] 1715 카드 정렬하기 - Greedy / Java (0) | 2022.12.25 |
[백준] 2785 체인 - Greedy / Java (0) | 2022.12.24 |
[백준] 2885 초콜릿 식사 - Greedy / Java (0) | 2022.12.23 |
댓글