[BOJ/1267/C++] 핸드폰 요금

SHark·2023년 2월 27일
0

BOJ

목록 보기
4/59

문제출처:https://www.acmicpc.net/problem/1267

문제
동호는 새악대로 T 통신사의 새 핸드폰 옴머나를 샀다. 새악대로 T 통신사는 동호에게 다음 두 가지 요금제 중 하나를 선택하라고 했다.

  • 영식 요금제
  • 민식 요금제

통화 시간 목록이 주어지면 어느 요금제를 사용 하는 것이 저렴한지 출력하는 프로그램을 작성하시오.

조건

  • 영식 요금제는 30초마다 10원씩 청구된다. 이 말은 만약 29초 또는 그 보다 적은 시간 통화를 했으면 10원이 청구된다. 만약 30초부터 59초 사이로 통화를 했으면 20원이 청구된다.
  • 민식 요금제는 60초마다 15원씩 청구된다. 이 말은 만약 59초 또는 그 보다 적은 시간 통화를 했으면 15원이 청구된다. 만약 60초부터 119초 사이로 통화를 했으면 30원이 청구된다.

SOL

영식 요금제와 민식 요금제를 각각 구한다음, 두 가지의 대소관계를 비교해준 후, 출력하면 된다.

#include <bits/stdc++.h>
using namespace std;

int M = 0, Y = 0;
int arr[21];
void CompareMY(int M, int Y)
{
  if (M == Y)
  {
    cout << "Y M " << M << '\n';
    return;
  }
  if (M < Y)
  {
    cout << "M " << M << '\n';
    return;
  }
  cout << "Y " << Y << '\n';
}

int main()
{
  int N;
  cin >> N;
  for (int i = 0; i < N; i++)
  {
    cin >> arr[i];
  }
  for (int i = 0; i < N; i++)
  {
    // cout << "vec[i]" << arr[i] << '\n';
    // cout << "M:" << M << "Y" << Y << '\n';
    Y += ((arr[i] / 30) + 1) * 10;
    M += ((arr[i] / 60) + 1) * 15;
  }
  CompareMY(M, Y);
  return 0;
}

0개의 댓글