Study/알고리즘

백준 1267번 - 핸드폰 요금 JAVA

토기발 2022. 8. 20. 12:47

 

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);
		}
	}
}

 

 

오랜만에 푸는 백준... 다시 열심히 해보자!