๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 13398_์—ฐ์†ํ•ฉ 2

๋ฟŒ์•ผ._. 2023. 12. 15. 14:51

Gold V

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/13398)

< ์—ฐ์†ํ•ฉ 2 >

 

๋ฌธ์ œ ํ’€์ด 

 

์ฒ˜์Œ์—๋Š” ์ˆ˜์—ด ๊ฐ’ ์ค‘์—์„œ ์Œ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ์—ฐ์†๋œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•ด์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•ฉ ์ค‘ ๊ฐ€์žฅ ํฐ ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์—†๋‹ค. 

 

๊ทธ๋ž˜์„œ ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ชจ๋“  ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ์”ฉ ์ œ๊ฑฐํ•˜๋Š” ๊ฒฝ์šฐ๋กœ ๋ฐฐ์—ด์„ n x n ํฌ๊ธฐ๋กœ ๋งŒ๋“ค์–ด์„œ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋Š” n์˜ ๋ฒ”์œ„๊ฐ€ 1 ์ด์ƒ 100000 ์ดํ•˜์ด๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ๊ตฌํ˜„ํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐฐ์—ด์„ 2 x n ํฌ๊ธฐ๋กœ ๋งŒ๋“ค์–ด 0๋ฒˆ์งธ ํ–‰์€ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, 1๋ฒˆ์งธ ํ–‰์€ ์ˆ˜๋ฅผ ํ•˜๋‚˜ ์ œ๊ฑฐํ•œ ๊ฒฝ์šฐ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค.

 

 my solution (Java)

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

public class _13398_ { // ์—ฐ์†ํ•ฉ 2

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		int n = Integer.parseInt(bf.readLine());

		int arr[] = new int[n];
		int answer[][] = new int[2][n];
		st = new StringTokenizer(bf.readLine());

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

		int result = arr[0];

		answer[0][0] = arr[0];
		for (int i = 1; i < n; i++) {
			answer[0][i] = Math.max(answer[0][i - 1] + arr[i], arr[i]);
			answer[1][i] = Math.max(answer[0][i - 1], answer[1][i - 1] + arr[i]);

			result=Math.max(answer[0][i], result);
			result=Math.max(answer[1][i], result);
		}
		System.out.println(result);
	}
}
๋ณ€์ˆ˜)
n : ์ˆ˜์—ด ๊ฐœ์ˆ˜
arr : ์ˆ˜์—ด 
answer : ์—ฐ์†๋œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•ด์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•ฉ
result : ์—ฐ์†๋œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•ด์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•ฉ ์ค‘ ๊ฐ€์žฅ ํฐ ํ•ฉ

 

์ˆ˜์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ์—ฐ์†๋œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•ด์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.

answer์˜ 0๋ฒˆ์งธ ํ–‰์—๋Š” ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์ €์žฅํ•˜๊ณ  1๋ฒˆ์งธ ํ–‰์—๋Š” ์ˆ˜๋ฅผ ํ•˜๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ €์žฅํ•œ ๊ฐ’ ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.