반응형
백준 Baekjoon 2851번 슈퍼마리오 - JAVA
문제 설명
문제 설명에는 중간에 먹는 것을 중단했다는 이야기 등이 나오는데, 무시하고 10개 버섯을 계속 먹는다 생각하면 된다. 계속해서 버섯의 점수를 누적하며 100과 최소 차가 나오는 경우 점수를 갱신해주면 된다.
100에 가까운 수가 2개라면 큰 값을 선택하는건 비교 조건문에서 작거나 같은 경우로 하면 된다.
소스 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int sum = 0, diff = 100, answer = -1;
for (int i = 0; i < 10; i++) {
sum += Integer.parseInt(br.readLine());
if (Math.abs(100 - sum) <= diff) {
diff = Math.abs(100 - sum);
answer = sum;
}
}
System.out.println(answer);
}
}
반응형
'알고리즘(Algorithm) > 백준(Baekjoon)' 카테고리의 다른 글
[백준 Baekjoon] 14003번 가장 긴 증가하는 부분 수열 5 - JAVA (0) | 2021.11.21 |
---|---|
[백준 Baekjoon] 6087번 레이저 통신 - JAVA (0) | 2021.11.20 |
[백준 Baekjoon] 5972번 택배 배송 - JAVA (0) | 2021.11.20 |
[백준 Baekjoon] 10157번 자리배정 - JAVA (0) | 2021.11.20 |
[백준 Baekjoon] 1389번 케빈 베이컨의 6단계 법칙 - JAVA (0) | 2021.11.19 |