๐ฅ Algorithm/Baekjoon
[๋ฐฑ์ค 14719๋ฒ] ๋น๋ฌผ - ์๋ฐ์คํฌ๋ฆฝํธ(nodejs)
Lennon
2022. 1. 28. 14:47
728x90
๋ฐ์ํ
https://www.acmicpc.net/problem/14719
const fs = require('fs');
let input = fs.readFileSync('dev/stdin').toString().trim().split('\n');
const height = +input[0][0];
input = input[1].split(' ').map(Number);
let answer = 0;
for (let i = 1; i < input.length; i++) {
let left = -1;
let right = -1;
let min = 0;
let result = 0;
for (let j = i; j >= 0; j--) {
left = Math.max(left, input[j]);
}
for (let j = i; j < input.length; j++) {
right = Math.max(right, input[j]);
}
min = Math.min(left, right);
result += min - input[i];
answer += result;
}
console.log(answer);
๊ฐ๋จํ๊ฒ ํ์ฌ ์ธ๋ฑ์ค ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์์ ๊ฐ์ฅ ํฐ ๊ธฐ๋ฅ, ์ค๋ฅธ์ชฝ์์ ๊ฐ์ฅ ํฐ ๊ธฐ๋ฅ์ ์ฐพ์ ์ต์๊ฐ์ ์ฐพ์ ๋ค ๋นผ์ฃผ๋ฉด ๋๋ค.
4 2 2 3 5 ์ด๋ ๊ฒ ์ฃผ์ด์ก๋ค๊ณ ์ณ๋ณด์.
ใ | ||||
ใ | ใ | |||
ใ | ใ | ใ | ||
ใ | ใ | ใ | ใ | ใ |
ใ | ใ | ใ | ใ | ใ |
0 1 2 3 4
1๋ฒ ์งธ, 2๋ฒ ์งธ ์ธ๋ฑ์ค
์ผ์ชฝ ์ต๋๊ฐ = 4 / ์ค๋ฅธ์ชฝ ์ต๋๊ฐ = 5 => ์ต์๊ฐ์ 4์ด๋ฏ๋ก 2๋ฅผ ๋ํด์ค๋ค.
3๋ฒ ์งธ ์ธ๋ฑ์ค
์ผ์ชฝ ์ต๋๊ฐ = 4 / ์ค๋ฅธ์ชฝ ์ต๋๊ฐ = 5 => ์ต์๊ฐ์ 4์ด๋ฏ๋ก 1์ ๋ํด์ค๋ค.
๋ฌธ์ ๋ฅผ ์๊ฐํ๋ฉฐ ์ข ์ฐ์ ๊ธฐ๋ฅ์ด ๋ ํฐ ๊ฒ ์์ผ๋ฉด ์ด๋กํ์ง ๋ผ๋ ์๊ฐ์ ํ์ง๋ง, ๊ณ ์ธ ๊ฐ์๋ฅผ ์ธ๋๊ฑฐ๋ผ ์ต์๊ฐ์ ์ด์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์์๋ค.
728x90
๋ฐ์ํ