Tags
- ๋ฌธ์์ด
- ์ ๋ ฌ
- ๋๋น ์ฐ์ ํ์
- Brute Force Algorithm
- ์๋ฃ๊ตฌ์กฐ
- ๊ต์ฌ
- Study
- ๊น์ด ์ฐ์ ํ์
- ๊ทธ๋ํ ํ์
- ์ํ
- Dynamic Programming
- stack
- ๋ฐฑํธ๋ํน
- ์ ์๋ก
- dfs
- greedy
- Python
- PGM
- LV2
- ์๋ฎฌ๋ ์ด์
- SpringBoot
- sort
- queue
- ๊ทธ๋ํ ์ด๋ก
- CodingTest
- ๊ตฌํ
- BOJ
- BFS
- Java
- DP
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2304 : ์ฐฝ๊ณ ๋ค๊ฐํ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ฃผ์ด์ง ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํด ์ฐฝ๊ณ ๋ฅผ ์ง์๋ ๋ง๋ค ์ ์๋ ๋ฉด์ ์ค ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
- ์กฐ๊ฑด๋ค์ ๋ง์ถฐ์ ์ต์๋ฉด์ ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ฐ์ฅ ๋์ ๊ธฐ๋ฅ์ ์ค์ฌ์ผ๋ก ์ผ์ชฝ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฎ์์ง๋ ์ง๋ถ
- ์ค๋ชฉํ ๋ถ๋ถ์ด ์์ด์ผ ํ๋ฏ๋ก ๋์์ ๊ฐ์ฅ ๋์ ๊ธฐ๋ฅ๊น์ง ๋ค๊ฐ์ค๋ฉฐ, ๋ ํฐ ๊ธฐ๋ฅ์ ๋ง๋ ๋๋ง ๋์ด๋ฅผ ๋์
๐ธ ์ฝ๋ ๐ธ
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] pillar = new int[n][2];
int max = 0, right = 0, mi = -1;
for (int i = 0; i < n; i++) {
pillar[i][0] = sc.nextInt();
pillar[i][1] = sc.nextInt();
}
Arrays.sort(pillar, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[0] - o2[0];
}
});
for (int i = 0; i < n; i++) {
if (max < pillar[i][1]) {
max = pillar[i][1];
mi = i;
}
}
int answer = max;
int start = pillar[0][0], now = pillar[0][1];
for (int i = 1; i <= mi; i++) {
if (pillar[i][1] >= now) {
answer += (pillar[i][0] - start) * now;
start = pillar[i][0];
now = pillar[i][1];
}
}
start = pillar[n - 1][0];
now = pillar[n - 1][1];
for (int i = n - 1; i >= mi; i--) {
if (pillar[i][1] >= now) {
answer += (start - pillar[i][0]) * now;
start = pillar[i][0];
now = pillar[i][1];
}
}
System.out.println(answer);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ๊ฐ ๊ธฐ๋ฅ์ ์์น์ ๋์ด๋ฅผ ์ด์ฐจ์ ๋ฐฐ์ด pillar์ ์ ์ฅํ๋ค.
- pillar๋ฅผ ์์น ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.
- ๊ฐ์ฅ ๋์ ๊ธฐ๋ฅ์ ๋์ด์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ค.
- ๋งจ ์๋ถํฐ ๊ฐ์ฅ ๋์ ๊ธฐ๋ฅ๊น์ง ์ฐฝ๊ณ ๋๋น๋ฅผ ๋ํ๋ค.
- ๋งจ ๋ค๋ถํฐ ๊ฐ์ฅ ๋์ ๊ธฐ๋ฅ๊น์ง ์ฐฝ๊ณ ๋๋น๋ฅผ ๋ํ๋ค.
- ๊ฐ์ฅ ๋์ ๊ธฐ๋ฅ์ ๋๋น๋ฅผ ๋ํ๋ค.
- ์ ์ฒด ์ฐฝ๊ณ ๋๋น๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์์ ์ python์ผ๋ก ํ์์๋๋ฐ java๋ก ๋ค์ ํ์ด๋ณด์๋ค.
- ๋ฐฐ์ด์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ฒ์ฌํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋๋ฐ, ๋ฌธ์ ํ๊ทธ์ ์๋๋๋ก ์คํ์ผ๋ก๋ ๊ตฌํํ ์ ์์ด๋ณด์ธ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2960 : ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (0) | 2023.01.16 |
---|---|
BOJ_3085 : ์ฌํ ๊ฒ์ (0) | 2023.01.15 |
BOJ_10972 : ๋ค์ ์์ด (0) | 2023.01.14 |
BOJ_2563 : ์์ข ์ด (0) | 2023.01.13 |
BOJ_4948 : ๋ฒ ๋ฅดํธ๋ ๊ณต์ค (0) | 2023.01.12 |