๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 2846๋ฒˆ: ์˜ค๋ฅด๋ง‰๊ธธ

by ์ฃผ๋ฐœ2 2020. 1. 17.
๋ฐ˜์‘ํ˜•

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

 

2846๋ฒˆ: ์˜ค๋ฅด๋ง‰๊ธธ

๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์ž์ „๊ฑฐ๋ฅผ ํƒ€๊ณ  ๋“ฑ๊ตํ•œ๋‹ค. ์ž์ „๊ฑฐ ๊ธธ์€ ์˜ค๋ฅด๋ง‰๊ธธ, ๋‚ด๋ฆฌ๋ง‰๊ธธ, ํ‰์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ๊ฐœ๊ฐ• ์ฒซ ๋‚  ์ž์ „๊ฑฐ๋ฅผ ํƒ€๊ณ  ๊ฐ€๋ฉด์„œ ์ผ์ • ๊ฑฐ๋ฆฌ๋งˆ๋‹ค ๋†’์ด๋ฅผ ์ธก์ •ํ–ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ๊ฐ€์žฅ ํฐ ์˜ค๋ฅด๋ง‰๊ธธ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ธก์ •ํ•œ ๋†’์ด๋Š” ๊ธธ์ด๊ฐ€ N์ธ ์ˆ˜์—ด๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์˜ค๋ฅด๋ง‰๊ธธ์€ ์ ์–ด๋„ 2๊ฐœ์˜ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋†’์ด๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์ด๋‹ค. ์˜ค๋ฅด๋ง‰๊ธธ์˜ ํฌ๊ธฐ๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž์™€ ๋งˆ์ง€๋ง‰ ์ˆซ์ž์˜ ์ฐจ์ด์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋†’์ด๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€

www.acmicpc.net

 

์ฝ”๋“œ

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		
		int before = 0;
		int current = scan.nextInt();
		int sum = 0;
		int result = 0;
		
		for(int i=1; i<N; i++) {
			before = current;
			current = scan.nextInt();
			if(current - before > 0) 	// ์ฆ๊ฐ€
				sum += current - before;
			else {
				result = Math.max(result, sum);
				sum = 0;
			}
		}
		result = Math.max(result, sum);

		System.out.println(result);
		scan.close();
	}

}

 

 

ํ’€์ด

์ฒ˜์Œ์—” ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด์˜ ์ฒซ๋ฒˆ์งธ์™€ ๋์„ ์ฐพ์•„ ํ•œ๋ฒˆ์— ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.

๊ฒฐ๊ตญ ํ’€์ง€๋ชปํ•˜๊ณ  ๋‹ค๋ฅธ ํ’€์ด๋ฅผ ์ฐพ์•„๋ดค๋‹ค..

๊ฐ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ์•ž์—์ˆ˜๋ณด๋‹ค ํด๋•Œ(์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด์ผ๋•Œ) ์ฐจ์ด๋ฅผ ๋”ํ•ด์ค€๋‹ค.

๋งŒ์•ฝ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด์ด ๋๋‚ฌ์„๋•Œ(๋’ค์— ์ˆซ์ž๊ฐ€ ๋” ํด๋•Œ) ๋” ํฐ ์ˆซ์ž๋ฅผ ์ฐพ๋Š”๋‹ค.

 

12 20 32 1 3 4 4 11 1

๋งŒ์•ฝ ์ฃผ์–ด์ง„ ์ˆซ์ž๊ฐ€ ์œ„์™€ ๊ฐ™์„๋•Œ,

ํ•œ๊ฐœ์”ฉ ์ž…๋ ฅ๋ฐ›์œผ๋ฉฐ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด์ผ๋•Œ(12-20-32)

๊ฐ ์ฐจ์ด๋ฅผ ๋นผ์„œ ๋”ํ•ด์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด์ด ๋๋‚ฌ์„ ๋•Œ(32-1)result, sum ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.

๊ทธ ํ›„ ๋‹ค์Œ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด(1-3-4, 4-11) ์ผ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋’ค์—์ˆซ์ž์™€ ์•ž์— ์ˆซ์ž์˜ ์ฐจ์ด๋ฅผ ๋”ํ•œํ›„

result, sum ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€