https://www.acmicpc.net/problem/5612
5612๋ฒ: ํฐ๋์ ์ ๊ตฌ์ ์ถ๊ตฌ
๋ฌธ์ ์๊ทผ์ด๋ ๋จ์ฐ1ํธํฐ๋์ ์ ๊ตฌ์ ์ถ๊ตฌ์์ 1๋ถ์ ํต๊ณผํ๋ ์ฐจ๋์ ์๋ฅผ ์กฐ์ฌํ๋ค. ์ด๋, ํฐ๋์ ์ฐจ๋์ด ๊ฐ์ฅ ๋ง์ด ์์์ ๋, ๋ช ๋ ์์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์
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 m = scan.nextInt(); // ํฐ๋์ ์ฐจ๋ ์
int temp = m;
int result = m;
for(int i=0; i<n; i++) {
int in = scan.nextInt(); // ์
๊ตฌ ํต๊ณผํ ์ฐจ์ ์
int out = scan.nextInt(); // ์ถ๊ตฌ ํต๊ณผํ ์ฐจ์ ์
temp = temp + in - out;
// ํฐ๋์ ์ฐจ๋์ ์๊ฐ 0๋ณด๋ค ์์๊ฒฝ์ฐ 0 ์ถ๋ ฅ, 0๋ณด๋ค ํฐ๊ฒฝ์ฐ -> ์ด์ ์ ์ต๋๊ฐ๊ณผ ๋น๊ต
result = (temp < 0) ? 0 : Math.max(temp, result);
if(result == 0) break;
}
System.out.println(result);
scan.close();
}
}
ํ์ด
์๊ฐ๋น ํฐ๋์์ ์กด์ฌํ๋ ์ฐจ๋์ ์๋ฅผ ๊ตฌํด์ ๋น๊ตํ๋ค.
ํฐ๋์์ ์กด์ฌํ๋ ์ฐจ๋์ ์ = ํ์ฌ์ฐจ(temp) + ์ ๊ตฌ ํต๊ณผํ ์ฐจ์์(in) - ์ถ๊ตฌ ํต๊ณผํ ์ฐจ์ ์(out)
์ด ๋, ํฐ๋์ ์ฐจ๋์ ์๊ฐ 0๋ณด๋ค ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด์ ์ ์ต๋๊ฐ๊ณผ ๋น๊ตํด ์ต๋๊ฐ์ ๊ตฌํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1547๋ฒ: ๊ณต (0) | 2020.05.12 |
---|---|
[๋ฐฑ์ค] 1773๋ฒ: ํญ์ฃฝ์ผ(๊ตฌํ) (0) | 2020.05.03 |
[๋ฐฑ์ค] 11718๋ฒ: ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ (0) | 2020.05.01 |
[๋ฐฑ์ค] 5618๋ฒ: ๊ณต์ฝ์(์ํ) (0) | 2020.04.26 |
[๋ฐฑ์ค] 1302๋ฒ: ๋ฒ ์คํธ์ ๋ฌ(์ ๋ ฌ, ํ์) (0) | 2020.04.24 |
๋๊ธ