728x90
반응형
https://github.com/ROUTINE-STUDY/Algorithm
알고리즘 스터디를 진행하고 있습니다. 😊
초보들로 구성되어있으며, 열심히 풀어보고 풀이 방식을 공유하고 피드백을 해주는 스터디입니다.
참여 문의는 댓글 혹은 GitHub 주소를 참고해주세요.
문제 출처 : https://www.acmicpc.net/problem/17509
문제 설명
내 코드(JAVA)
public class Main {
private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
private static final List<String> testCaseList = new ArrayList<>();
public static void main(String[] args) throws IOException {
inputTestCase();
doCalc();
}
private static void doCalc() throws IOException {
int result = 0;
int beforeTime = 0;
int penaltyCnt = 0;
testCaseList.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int parseInt1 = Integer.parseInt(o1.split(" ")[0]);
int parseInt2 = Integer.parseInt(o2.split(" ")[0]);
if(parseInt1 > parseInt2) return 1;
else if(parseInt1 < parseInt2) return -1;
return 0;
}
});
for(String testCase : testCaseList) {
String[] records = testCase.split(" ");
int solvingTime = Integer.parseInt(records[0]);
penaltyCnt += Integer.parseInt(records[1]);
result += (beforeTime + solvingTime);
beforeTime += solvingTime;
}
result += (20 * penaltyCnt);
bw.write(String.valueOf(result));
bw.flush();
bw.close();
}
private static void inputTestCase() throws IOException {
for(int i=0; i<11; i++) {
testCaseList.add(br.readLine());
}
br.close();
}
}
스터디 피드백 내용
Comparator를 사용하여 정렬하는 부분을 리팩토링했습니다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준/JAVA] 1018. 체스판 다시 칠하기 (0) | 2022.01.23 |
---|---|
[백준/JAVA] 2309. 일곱 난쟁이 (0) | 2022.01.22 |
[백준/JAVA] 4796. 캠핑 (0) | 2021.10.30 |
[프로그래머스/JAVA] 없는 숫자 더하기 (0) | 2021.10.25 |
[프로그래머스/JAVA] 최소직사각형(8주차) (0) | 2021.10.03 |
댓글