[코드그루] 124. 백준 3216번 : 다운로드

2025. 1. 21. 21:38·코딩테스트

https://www.acmicpc.net/problem/3216

왜 n번째 다운로드 완료 시간 - n-1번째 노래 길이 ←로 하면 틀리고 반복문을 돌려서 max값을 찾아야 하는지 이해 못했지만 마지막 누적합끼리라고 그 차이가 max는 아닌 걸 디버깅하고 알았음.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

// 노래를 들으려면 모두 다운로드 된 상태여야
// 다운로드 시작한지 몇 초후에 들어야 끊김없이 노래를 들을 수 있는지
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int[][] songs = new int[n + 1][2];
        for (int i=1; i <= n; i++) {    // 누적해서 저장
            StringTokenizer st = new StringTokenizer(br.readLine());
            songs[i][0] = Integer.parseInt(st.nextToken()) + songs[i-1][0]; // 노래
            songs[i][1] = Integer.parseInt(st.nextToken()) + songs[i-1][1]; // 다운로드
        }
        int ans = 0;
        for (int i=n; i > 0; i--) {
            // 현재 노래 다운로드 완료 시간 - 이전 노래 길이 == 현재 노래 다운로드 완료 후 재생 가능한 시점
            ans = Math.max(ans, songs[i][1] - songs[i-1][0]);
        }
        System.out.println(ans);
    }
}

728x90

'코딩테스트' 카테고리의 다른 글

[코드그루] 126. 백준 15658번 : 연산자 끼워넣기 (2)  (2) 2025.01.23
[코드그루] 125. 백준 2792번 : 보석 상자  (2) 2025.01.22
[코드그루] 123. 백준 2573번 : 빙산  (1) 2025.01.21
[코드그루] 122. 백준 2343번 : 기타 레슨  (0) 2025.01.17
[코드그루] 121. 백준 3088번 : 화분 부수기  (1) 2025.01.15
'코딩테스트' 카테고리의 다른 글
  • [코드그루] 126. 백준 15658번 : 연산자 끼워넣기 (2)
  • [코드그루] 125. 백준 2792번 : 보석 상자
  • [코드그루] 123. 백준 2573번 : 빙산
  • [코드그루] 122. 백준 2343번 : 기타 레슨
hnajeahi
hnajeahi
개발 스터딩
  • hnajeahi
    hnajeahi-hub
    hnajeahi
  • 전체
    오늘
    어제
    • 전체보기 (96)
      • 개발일기 (3)
      • 코딩테스트 (64)
      • TIL (29)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 블로그 이사왔음!
  • 인기 글

  • 태그

    해시
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hnajeahi
[코드그루] 124. 백준 3216번 : 다운로드
상단으로

티스토리툴바