코테/코드트리

[코드트리/NOVICE MID] 구간 중 최대 합 (JAVA)

imname1am 2023. 10. 26. 16:41
반응형

🔺 문제

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.*;
import java.io.*;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        
        int n = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());
        
        int[] arr = new int[n];
        st = new StringTokenizer(br.readLine()," ");
        for(int i = 0 ; i < n ; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }
        
        int max = 0;
        for(int i = 0 ; i <= n - k ; i++) { // 시작 위치 (등호!!)
            int tmp = 0;
            for(int j = i ; j < i + k ; j++) {  // 시작 위치부터 어디까지
                tmp += arr[j];
            }
            max = Math.max(max, tmp); // 최댓값 갱신
        }
 
        System.out.println(max);
    }
}
cs

 

 

🧩  해결 아이디어

• 완전탐색

- 구간 단위 완전탐색

 ㄴ 구간 시작 위치 i : 0 ~ n-k까지

 ㄴ 구간 종료 위치 j : i ~ i + k -1 까지

 

 

 


💬 느낀 점

범위에 유의하자!

 

 

1회독 2회독 3회독 4회독 5회독
V        
반응형