[SWEA] 5642. 합

김휴지 ㅣ 2023. 5. 18. 04:08

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXQm2SqdxkDFAUo 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


접근 방법

DP 형식의 일반 탐색을 했다. DP 배열을 사용하기엔 굳이라는 생각이 들었다.

처음에는 input이 단순해서 Scanner를 사용했는데

BufferedReader를 사용했을 때보다 30000 kb, 800 ms 정도가 더 디뎠다.

이러한 사소한 것에서도 부담이 클 수 있다는 걸 알게 됐던 문제였다.

 

소스 코드

import java.util.*;
import java.io.*;
 
class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.valueOf(br.readLine());
        for(int t=1; t<=T; t++) {
            int N = Integer.valueOf(br.readLine());
            int[] n = new int[N];
            int value = -1000;
            int max = -1000;
             
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            for(int i=0; i<N; i++)
                n[i] = Integer.parseInt(st.nextToken());
             
            for(int i=0; i<N; i++) {
                value = Math.max(n[i], value+n[i]);
                if (max < value)
                    max = value;
            }
             
            System.out.println("#" + t + " " + max);
        }
    }
}

'코테 > 자바' 카테고리의 다른 글

[BOJ] 1978. 소수 찾기  (0) 2023.05.18
[BOJ] 16171. 나는 친구가 적다 (Small)  (0) 2023.05.18
[SWEA] 11315. 오목 판정  (0) 2023.05.18
[SWEA] 5215. 햄버거 다이어트  (0) 2023.05.18
[SWEA] 3750. Digit sum  (0) 2023.05.18