Tags
- LV2
- ๊ทธ๋ํ ํ์
- Python
- ๊น์ด ์ฐ์ ํ์
- ์ํ
- ์๋ฃ๊ตฌ์กฐ
- BOJ
- Brute Force Algorithm
- ์๋ฎฌ๋ ์ด์
- ์ ์๋ก
- dfs
- ๋ฌธ์์ด
- ๊ทธ๋ํ ์ด๋ก
- Java
- Dynamic Programming
- stack
- ๊ตฌํ
- greedy
- DP
- SpringBoot
- CodingTest
- Study
- queue
- ์ ๋ ฌ
- sort
- ๋๋น ์ฐ์ ํ์
- ๋ฐฑํธ๋ํน
- PGM
- ๊ต์ฌ
- BFS
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2166 : ๋ค๊ฐํ์ ๋ฉด์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- N๊ฐ์ ๊ผญ์ง์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ค๊ฐํ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค.
- ๋ค๊ฐํ์ ๋์ด(๋ฉด์ )์ ์์์ ๋์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ์ฒซ์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ์ ๋ฐ๋ ๊ณต์ (Shoelace formula)์ ์ ํ์ ์ธ ์ฐ์ต ๋ฌธ์ ์ด๋ค.
- x์ขํ์ y์ขํ๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ณต์์ ๊ตฌํํ๊ณ , ์์์ ์ฒซ์งธ ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํด ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
long[] X = new long[N];
long[] Y = new long[N];
StringTokenizer st = null;
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
X[i] = Long.parseLong(st.nextToken());
Y[i] = Long.parseLong(st.nextToken());
}
double sum = X[N - 1] * Y[0] - Y[N - 1] * X[0];
for (int i = 0; i < N - 1; i++) {
sum += X[i] * Y[i + 1];
sum -= Y[i] * X[i + 1];
}
sum = Math.round((Math.abs(sum) / 2.0) * 10.0) / 10.0;
bw.write(String.format("%.1f", sum));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ขํ๋ฅผ long๋ฐฐ์ด x์ y์ ์
๋ ฅ๋ฐ๋๋ค.
- ์ขํ๊ฐ์ด ์ต๋ 10๋ง์ด๋ฏ๋ก, ์ ๋ฐ๋ ๊ณต์ ์ ์ฉ ๋ถ๋ถ์์ ๊ณฑ์ ํ ๋ ์ค๋ฒํ๋ก๊ฐ ๋ ์ ์์ผ๋ฏ๋ก long์ผ๋ก ์ ์ธํ๋ค.
- ์ขํ๊ฐ์ด ๋์ ๋๋ ๋ณ์ sum์ ์์์ ๊ณ์ฐ๋ ํ์ํ๊ณ , ๊ฐ์ด ์ปค์ง ์ ์์ผ๋ฏ๋ก double๋ก ์ ์ธํ๋ค.
- ์ ๋๊ฐ ๋ฐ ์์์ ๊ณ์ฐ์์ ์์์ ๊ณ์ฐ์ด ํ๋ฆฌ์ง ์๋๋ก 2.0, 10.0 ๊ฐ์ ์ค์๋ก ๊ณ์ฐํ๋ค.
- ์์์ 1์์๋ฆฌ ์๊น์ง String.format์ ์ด์ฉํด ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์ ๋ฐ๋ ๊ณต์์ ๋ชฐ๋ผ์ ํ ์ ์์๋ ๋ฌธ์ ์๋ค.
- ์ง๋ฌธ ๊ฒ์ํ์ ๋ณด๊ณ , ์ด ๊ณต์์ด ํ์๊ตฌ๋ ํ๊ณ ๊ฒ์ํด์ ๋จผ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ฆฌํ ํ ํ์๋ค.
- ์ขํ๋ฅผ int๋ก ๋ฐ์์ ์ค๋ฒํ๋ก๊ฐ ๋๊ฑฐ๋, ์ค์๋์ ์ ์๋ก ๊ณ์ฐํด์ ์ ํ๋์์ 2๋ฒ ํ๋ ธ์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1197 : ์ต์ ์คํจ๋ ํธ๋ฆฌ (0) | 2024.03.13 |
---|---|
BOJ_27172 : ์ ๋๋๊ธฐ ๊ฒ์ (0) | 2024.03.12 |
BOJ_13172 : ฮฃ (0) | 2024.03.10 |
BOJ_11054 : ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด (0) | 2024.03.10 |
BOJ_11779 : ์ต์๋น์ฉ ๊ตฌํ๊ธฐ 2 (0) | 2024.03.02 |