Algorithm
- ์ง๋ฅํ ๊ธฐ์ฐจ -
๋ฌธ์
์ต๊ทผ์ ๊ฐ๋ฐ๋ ์ง๋ฅํ ๊ธฐ์ฐจ๊ฐ 1๋ฒ์ญ(์ถ๋ฐ์ญ)๋ถํฐ 4๋ฒ์ญ(์ข ์ฐฉ์ญ)๊น์ง 4๊ฐ์ ์ ์ฐจ์ญ์ด ์๋ ๋ ธ์ ์์ ์ดํ๋๊ณ ์๋ค. ์ด ๊ธฐ์ฐจ์๋ ํ๊ฑฐ๋ ๋ด๋ฆฌ๋ ์ฌ๋ ์๋ฅผ ์๋์ผ๋ก ์ธ์ํ ์ ์๋ ์ฅ์น๊ฐ ์๋ค. ์ด ์ฅ์น๋ฅผ ์ด์ฉํ์ฌ ์ถ๋ฐ์ญ์์ ์ข ์ฐฉ์ญ๊น์ง ๊ฐ๋ ๋์ค ๊ธฐ์ฐจ ์์ ์ฌ๋์ด ๊ฐ์ฅ ๋ง์ ๋์ ์ฌ๋ ์๋ฅผ ๊ณ์ฐํ๋ ค๊ณ ํ๋ค. ๋จ, ์ด ๊ธฐ์ฐจ๋ฅผ ์ด์ฉํ๋ ์ฌ๋๋ค์ ์ง์ ์์์ด ํฌ์ฒ ํ์ฌ, ์ญ์์ ๊ธฐ์ฐจ์ ํ ๋, ๋ด๋ฆด ์ฌ๋์ด ๋ชจ๋ ๋ด๋ฆฐ ํ์ ๊ธฐ์ฐจ์ ํ๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ด๋ฆฐ ์ฌ๋ ์ | ํ ์ฌ๋ ์ | |
1๋ฒ์ญ(์ถ๋ฐ์ญ) | 0 | 32 |
2๋ฒ์ญ | 3 | 13 |
3๋ฒ์ญ | 28 | 25 |
4๋ฒ์ญ(์ข ์ฐฉ์ญ) | 39 | 0 |
์๋ฅผ ๋ค์ด, ์์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์. ์ด ๊ฒฝ์ฐ, ๊ธฐ์ฐจ ์์ ์ฌ๋์ด ๊ฐ์ฅ ๋ง์ ๋๋ 2๋ฒ์ญ์์ 3๋ช ์ ์ฌ๋์ด ๊ธฐ์ฐจ์์ ๋ด๋ฆฌ๊ณ , 13๋ช ์ ์ฌ๋์ด ๊ธฐ์ฐจ์ ํ์ ๋๋ก, ์ด 42๋ช ์ ์ฌ๋์ด ๊ธฐ์ฐจ ์์ ์๋ค.
์ด ๊ธฐ์ฐจ๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ์ดํ๋๋ค๊ณ ๊ฐ์ ํ๋ค.
- ๊ธฐ์ฐจ๋ ์ญ ๋ฒํธ ์์๋๋ก ์ดํํ๋ค.
- ์ถ๋ฐ์ญ์์ ๋ด๋ฆฐ ์ฌ๋ ์์ ์ข ์ฐฉ์ญ์์ ํ ์ฌ๋ ์๋ 0์ด๋ค.
- ๊ฐ ์ญ์์ ํ์ฌ ๊ธฐ์ฐจ์ ์๋ ์ฌ๋๋ณด๋ค ๋ ๋ง์ ์ฌ๋์ด ๋ด๋ฆฌ๋ ๊ฒฝ์ฐ๋ ์๋ค.
- ๊ธฐ์ฐจ์ ์ ์์ ์ต๋ 10,000๋ช ์ด๊ณ , ์ ์์ ์ด๊ณผํ์ฌ ํ๋ ๊ฒฝ์ฐ๋ ์๋ค.
4๊ฐ์ ์ญ์ ๋ํด ๊ธฐ์ฐจ์์ ๋ด๋ฆฐ ์ฌ๋ ์์ ํ ์ฌ๋ ์๊ฐ ์ฃผ์ด์ก์ ๋, ๊ธฐ์ฐจ์ ์ฌ๋์ด ๊ฐ์ฅ ๋ง์ ๋์ ์ฌ๋ ์๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๊ฐ ์ญ์์ ๋ด๋ฆฐ ์ฌ๋ ์์ ํ ์ฌ๋ ์๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฒซ์งธ ์ค๋ถํฐ ๋ท์งธ ์ค๊น์ง ์ญ ์์๋๋ก ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค.
์ ์ถ๋ ฅ ์์
๋ฌธ์ ํ๊ธฐ
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n")
.map((el) => el.split(" ").map((el) => Number(el)));
let result = [];
for (let i = 0; i < input.length; i++) {
if (result.length === 0) {
result.push(input[i][1]);
} else {
result.push(result[result.length - 1] - input[i][0] + input[i][1]);
}
}
console.log(Math.max(...result));
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][Node.js] 2475๋ฒ : ๊ฒ์ฆ์ (0) | 2021.08.14 |
---|---|
[๋ฐฑ์ค][Node.js] 2460๋ฒ : ์ง๋ฅํ ๊ธฐ์ฐจ 2 (0) | 2021.08.13 |
[๋ฐฑ์ค][Node.js] 2446๋ฒ : ๋ณ์ฐ๊ธฐ - 9 (0) | 2021.08.11 |
[๋ฐฑ์ค][Node.js] 2445๋ฒ : ๋ณ์ฐ๊ธฐ - 8 (0) | 2021.08.10 |
[๋ฐฑ์ค][Node.js] 2444๋ฒ : ๋ณ์ฐ๊ธฐ - 7 (0) | 2021.08.09 |
๋๊ธ