문제
앨범에 A곡이 있고, 곡당 평균 멜로디 수의 올림값이 I일 때, 최소 멜로디 수를 구하라.
입력
첫째 줄에 A (곡 수)와 I (올림 평균)가 주어진다.
출력
앨범에 포함된 멜로디의 최솟값을 출력한다.
예제
| 입력 | 출력 |
|---|---|
4 7 | 25 |
풀이
올림 평균의 정의에서 최솟값을 역산한다.
- 올림(총 멜로디 / A) = I이므로,
총 멜로디 > A * (I - 1)이어야 한다 - 최솟값은 A * (I - 1) + 1이다
- 한 줄 수식으로 계산하여 출력한다
핵심 아이디어: 올림 함수의 역함수에서 최솟값을 구하면, 평균이 (I-1)을 초과하는 가장 작은 정수값이 된다.
코드
package day649;
import java.io.*;
import java.util.*;
public class Day642BOJ2914저작권 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
bw.write(String.valueOf(Integer.parseInt(st.nextToken()) * (Integer.parseInt(st.nextToken()) - 1) + 1));
bw.flush();
bw.close();
}
}복잡도
- 시간: O(1)
- 공간: O(1)