핸드폰 요금

문제 풀러가기

1267

코드

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int Y = 0;
    int M = 0;

    for(int i = 0; i < n; i++) {
      int a = sc.nextInt();
      Y += ((a / 30) + 1) * 10;
      M += ((a / 60) + 1) * 15;
    }

    if(Y > M) {
      System.out.println("M " + M);
    } else if(Y < M) {
      System.out.println("Y " + Y);
    } else {
      System.out.println("Y M " + Y);
    }
  }
}

설명

핵심은 통화를 했을 때 나온 요금의 합을 비교하는 것이다. 영식 요금제는 30초마다 10원씩이므로 30으로 나눈 후 10을 곱해주는 것이고 민식 요금제는 60초마다 15원씩이므로 60으로 나눈 후 15를 곱해준다. 중간에 1을 더하는 것은 30초 또는 60초보다 적게 통화했을 경우에도 요금을 내야하기 때문에 1을 더해준다.