https://www.acmicpc.net/problem/2846
์ฝ๋
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 ๊ฐ์ ๋น๊ตํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2851๋ฒ: ์ํผ ๋ง๋ฆฌ์ค (0) | 2020.01.18 |
---|---|
[๋ฐฑ์ค] 1977๋ฒ: ์์ ์ ๊ณฑ์ (0) | 2020.01.18 |
[๋ฐฑ์ค] 14697๋ฒ: ๋ฐฉ ๋ฐฐ์ ํ๊ธฐ (0) | 2020.01.17 |
[๋ฐฑ์ค] 15953๋ฒ: ์๊ธ ํํฐ (0) | 2020.01.17 |
[๋ฐฑ์ค] 2446๋ฒ: ๋ณ ์ฐ๊ธฐ - 9 (0) | 2020.01.16 |
๋๊ธ