풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int ys = 0;
int ms = 0;
for (int i = 0; i < N; i++) {
int call = Integer.parseInt(st.nextToken());
ys += ((call / 30) + 1) * 10;
ms += ((call / 60) + 1) * 15;
}
StringBuilder sb = new StringBuilder();
if (ys > ms) {
sb.append("M ").append(ms);
} else if ( ys == ms ) {
sb.append("Y M ").append(ms);
} else {
sb.append("Y ").append(ys);
}
System.out.println(sb);
}
}
n
: 통화 횟수 입력
ys
, ms
: 각 요금제에 맞게 계산하여 출력
틀린 코드
for (int i = 0; i < N; i++) {
int call = Integer.parseInt(st.nextToken());
ys += ((call / 30) + ((call % 30) > 0 ? 1 : 0)) * 10;
ms += ((call / 60) + ((call % 60) > 0 ? 1 : 0)) * 15;
}
- 정답 코드는 시간과 관계없이 +1을 더한 채로 계산
- 틀린 코드는 나머지가 있을 경우에만 +1