문제
두 학생의 국어, 수학, 사회, 과학 4과목 점수가 주어질 때, 총점이 더 높은 학생의 점수를 출력하라. 같으면 아무나 출력한다.
입력
첫째 줄에 민균이의 4과목 점수, 둘째 줄에 서현이의 4과목 점수가 주어진다.
출력
총점이 더 높은 학생의 총점을 출력한다.
예제
| 입력 | 출력 |
|---|---|
20 30 40 50 30 40 50 60 | 180 |
풀이
각 학생의 4과목 점수를 합산하여 비교한다.
- 첫 번째 학생의 4과목 점수를 입력받아 합산한다
- 두 번째 학생의 4과목 점수를 입력받아 합산한다
- 첫 번째 합이 크거나 같으면 첫 번째, 아니면 두 번째를 출력한다
핵심 아이디어: 단순 합산 비교이므로 O(1)에 해결된다.
코드
#include <iostream>
using namespace std;
int main()
{
int s, t;
int sum = 0, sum1 = 0;
for (int i = 0; i < 4; i++)
{
cin >> s;
sum += s;
}
for (int j = 0; j < 4; j++)
{
cin >> t;
sum1 += t;
}
if (sum > sum1 || sum == sum1)
cout << sum;
else
cout << sum1;
}복잡도
- 시간: O(1)
- 공간: O(1)