inblog logo
|
LHS's Study Space
    알고리즘문제풀기랜덤마라톤

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

    lhs's avatar
    lhs
    Dec 29, 2024
    [랜덤 마라톤] 별꽃의 세레나데 (Easy)(26217)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    www.acmicpc.net
    https://www.acmicpc.net/problem/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
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog