fee[i]/30 하고 +1 해야 한다는걸 검색하고서야 알게 되었다. ㅠ
1. 처음 주어지는 N을 두번째 주어지는 통화시간 배열의 개수라고 생각하고 그만큼 for문을 돌려 배열 안에 통화시간들을 담는다.
2. 영식 요금제와 민식 요금제의 식에 맞춰 각각의 값에 맞는 가격을 계산하여 더한다.
3. 두 값의 대소를 비교하고 양식대로 출력한다.
public class Main {
public static void main(String[] args) throws Exception{
Scanner in = new Scanner(System.in);
int Y = 0;
int M = 0;
int N = in.nextInt();
int fee[] = new int [N];
for(int i=0; i<N; i++) {
fee[i] = in.nextInt();
}
for(int i=0; i<N; i++) {
Y+=(fee[i]/30+1)*10;
M+=(fee[i]/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);
}
}
}
오랜만에 푸는 백준... 다시 열심히 해보자!
'Study > 알고리즘' 카테고리의 다른 글
이것이 코딩 테스트다 JAVA - 구현 (상하좌우, 시각) (1) | 2022.10.11 |
---|---|
이것이 코딩 테스트다 - 그리디(거스름돈, 큰 수의 법칙) (0) | 2022.08.26 |
백준 1233번 - 주사위 JAVA (0) | 2022.08.11 |
백준 1225번 - 이상한 곱셈 JAVA (0) | 2022.08.10 |
1193번 - 분수찾기 JAVA (0) | 2022.08.05 |