[랜덤 마라톤] 별꽃의 세레나데 (Easy)(26217)

lhs's avatar
Dec 29, 2024
[랜덤 마라톤] 별꽃의 세레나데 (Easy)(26217)
notion image
notion image

1. 문제 풀이 아이디어

  • 경우의 수를 계산하여 문제를 해결할 수 있다.

2. 나의 정답 코드

public class Main { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bufferedReader.readLine()); double result = 0; for (double i = 0; i < n; i++) { result += n / (n - i); } System.out.println(result); bufferedReader.close(); } }

3. 정리

  • 경우의 수는 1 - (원하는 종류 / 전체 종류)이므로, 식은 1 - i / n으로 표현할 수 있다.
  • 문제에서 필요한 씨앗의 개수를 구해야 하므로, 경우의 수의 역수를 계산해야 한다.
  • 필요한 씨앗의 개수는 1 / (1 - i / n)이다.
  • 이 식을 정리하면 n / (n - i)가 되고, 이를 0부터 n - 1까지 순회하며 더하여 문제를 해결한다.
Share article

LHS's Study Space