Tags
- sort
- Dynamic Programming
- PGM
- ๊น์ด ์ฐ์ ํ์
- Python
- queue
- stack
- ์๋ฎฌ๋ ์ด์
- ๊ทธ๋ํ ์ด๋ก
- CodingTest
- ์๋ฃ๊ตฌ์กฐ
- ๊ตฌํ
- ๋๋น ์ฐ์ ํ์
- DP
- Java
- ์ํ
- LV2
- ๊ทธ๋ํ ํ์
- ๋ฐฑํธ๋ํน
- dfs
- Brute Force Algorithm
- ๋ฌธ์์ด
- ์ ์๋ก
- Study
- greedy
- ๊ต์ฌ
- BFS
- SpringBoot
- BOJ
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_3273 : ๋ ์์ ํฉ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- n๊ฐ์ ์์์ ๋ ์์ ํฉ์ด x๊ฐ ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ์์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.
- ๋ ํฌ์ธํฐ๋ฅผ ๋ง๋ค์ด์ ํ๋๋ ๋งจ ์, ํ๋๋ ๋งจ ๋ค๋ถํฐ ์์ํด ํฉ์ด x์ธ์ง ํ์ธํ๋ฉฐ ์นด์ดํธํ๋ค.
- ํฉ์ด x๋ณด๋ค ์์ผ๋ฉด ์ ํฌ์ธํฐ๋ฅผ +1, ํฌ๋ฉด ๋ค ํฌ์ธํฐ๋ฅผ -1 ํ๋ค.
- ์ ํฌ์ธํฐ๋ฅผ +1ํ๋ฉด ํฉ์ด ์ปค์ง๋ค.
- ๋ค ํฌ์ธํฐ๋ฅผ -1ํ๋ฉด ํฉ์ด ์์์ง๋ค.
- ์ ํฌ์ธํฐ์ ๋ค ํฌ์ธํฐ๊ฐ ๋ง๋๋ฉด ์ข ๋ฃํ๋ค.
- ํฉ์ด x๋ณด๋ค ์์ผ๋ฉด ์ ํฌ์ธํฐ๋ฅผ +1, ํฌ๋ฉด ๋ค ํฌ์ธํฐ๋ฅผ -1 ํ๋ค.
- ์นด์ดํธํ ๊ฐ์ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int x = Integer.parseInt(br.readLine());
Arrays.sort(arr);
int answer = 0;
int p1 = 0, p2 = n-1;
while (p1 != p2) {
int sum = arr[p1] + arr[p2];
if (sum == x) {
p1++;
answer++;
} else if (sum < x) {
p1++;
} else {
p2--;
}
}
System.out.println(answer);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n๊ฐ์ ์๋ฅผ arr๋ฐฐ์ด์ ์ ์ฅํ๊ณ , ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.
- ์์ด์ ์ ํฌ์ธํฐ p1๊ณผ ๋ค ํฌ์ธํฐ p2๋ฅผ 0๊ณผ n-1๋ก ์ด๊ธฐํํ๋ค.
- p1๊ณผ p2๊ฐ ๋ง๋ ๋๊น์ง ๊ณ์ฐ์ ๋ฐ๋ณตํ๋ค.
- sum์ arr[p1]๊ณผ arr[p2]์ ํฉ์ ์ ์ฅํ๋ค.
- sum == x ๋ผ๋ฉด, p1๊ณผ answer๋ฅผ 1์ฆ๊ฐ์ํจ๋ค.
- sum < x ๋ผ๋ฉด, p1์ 1 ์ฆ๊ฐ์ํจ๋ค.
- sum > x ๋ผ๋ฉด, p2๋ฅผ 1 ๊ฐ์์ํจ๋ค.
- ๋ฐ๋ณต์ด ์ข ๋ฃ๋๋ฉด answer๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ํฌ ํฌ์ธํฐ๋ฅผ ์ด๋ป๊ฒ ์ด์ฉํด์ผ ํ ์ง ๋ง์ด ๊ณ ๋ฏผํ์๋ค.
- ์ฒ์์ p1๊ณผ p2๋ฅผ 0๊ณผ 1๋ก ๋ฌ์ ๋ง์ด ํค๋งค๊ฒ ๋์๋๋ฐ, ํฉ์ด ์ปค์ง๊ณ ์์์ง๋๋ก ํฌ์ธํฐ๋ฅผ ์์ง์ฌ์ผํด์ ๊ฐ์๋ฅผ ์ด๋ป๊ฒ ์ํฌ ์ ์์๊น ๊ณ ๋ฏผํ๋ค๊ฐ p2๋ฅผ n-1๋ก ๋๋ ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ ธ๋ค.
- sum == x์์ p1๊ณผ p2๋ฅผ ๋์์ ์์ ํด์ ๋ฐํ์ ์๋ฌ๋ก 1ํ ํ๋ ธ๋ค.
- p1์ ๋ํ๋ p2๋ฅผ ๋นผ๋ ํ๋๋ง ์ํํ๋ฉด ํด๊ฒฐ๋๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_10757 : ํฐ ์ A+B (0) | 2023.01.12 |
---|---|
BOJ_18108 : 1998๋ ์์ธ ๋ด๊ฐ ํ๊ตญ์์๋ 2541๋ ์?! (0) | 2023.01.12 |
BOJ_2559 : ์์ด (0) | 2023.01.12 |
BOJ_25304 : ์์์ฆ (0) | 2023.01.12 |
BOJ_2512 : ์์ฐ (0) | 2023.01.11 |