BOJ 2851번 슈퍼마리오 문제
특별한 알고리즘이 필요한게 아닌 구현 문제이다.
첫번째 버섯부터 무조건 먹는건데 중간에 왜 갑자기 생각을 잘못했는지 중간부터 먹을 수 있게 구현해서 계속 틀려버렸다.
일단 배열에 10개 입력을 받는다.
하나 하나 더해가면서, 100이 넘는 경우에 100에 더하기 전이 가까운지 더한 후가 가까운지 조건을 주고 더 작은 값을 출력한다. 만약 같다면 더한 숫자를 골라야한다.
2851.cpp
#include <iostream>
using namespace std;
int main() {
int a[10];
for (int i = 0; i < 10; i++) {
cin >> a[i];
}
int sum = 0;
for (int i = 0; i < 10; i++) {
int afterSum = sum + a[i];
if (afterSum >= 100) {
if (afterSum - 100 <= 100 - sum) {
cout << afterSum;
} else {
cout << sum;
}
return 0;
}
sum = afterSum;
}
cout << sum;
}
'알고리즘 & SQL > 백준(BOJ)' 카테고리의 다른 글
백준 14753번 : MultiMax C++ (0) | 2018.11.02 |
---|---|
백준 9086번 : 문자열 C++ (0) | 2018.11.02 |
백준 1427번 : 소트인사이드 C++ (0) | 2018.11.02 |
백준 2998번 : 8진수 C++ (0) | 2018.10.31 |
백준 10987번 : 단위 C++ (0) | 2018.10.30 |