2026.03.05 목

권순찬·2026년 3월 5일

천천히 꾸준히

목록 보기
4/50

오늘은 공강겸 근로도 없는 날이라 오전에 푹 쉬고 오후에 문제 풀었다.

자전거 묘기_25706
Dp를 활용해서 '현재 = 그 앞 + 1' 이렇게 계산하면 쉽게 풀린다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class 자전거묘기_25706 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());

        int[] arr = new int[n+1];
        int[] dp = new int[n+1];

        for (int i = 0; i < n; i++) {
            String s = st.nextToken();
            arr[i] = Integer.parseInt(s);
        }

        for (int i = n-1; i >= 0; i--) {
            int jump = arr[i];
            if (i + jump + 1 > n) {
                dp[i] = 1;
            } else {
                dp[i] = dp[i + jump + 1] + 1;
            }
        }

        for (int i = 0; i < n; i++) {
            bw.write(dp[i] + " ");
        }
        bw.flush();
        bw.close();
    }
}

알바 가는데 비가 왕창 내려서 피곤했던 하루...

profile
아직 많이 서툰 개발자

0개의 댓글