๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ์ด๋ถ๊ฒ์ ๋ณธ๋ฌธ
๊ฐ๋ฐ/์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA
[JAVA/์ฝ๋ฉํ ์คํธ] ์ด๋ถ๊ฒ์
์์ผ์ด 2021. 6. 27. 22:54๋ฐ์ํ
* ์ด๋ถ๊ฒ์์ด๋? ๋ฆฌ์คํธ์์ ๋ฐ์ ์ชผ๊ฐ ๋ง๋์ง ํ์ธํ ๋ค์ ์ชผ๊ฐ์ ํ์ธํ๊ณ ๊ทธ ์์ ์ ๋ฐ๋ณตํ์ฌ ๊ฒ์
์ค๋ช
์์์ N๊ฐ์ ์ซ์๊ฐ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋๋ค. N๊ฐ์ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค์ N๊ฐ์ ์ ์ค ํ ๊ฐ์ ์์ธ M์ด ์ฃผ์ด์ง๋ฉด ์ด๋ถ๊ฒ์์ผ๋ก M์ด ์ ๋ ฌ๋ ์ํ์์ ๋ช ๋ฒ์งธ์ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋จ ์ค๋ณต๊ฐ์ ์กด์ฌํ์ง ์์ต๋๋ค.
์ ๋ ฅ
์ฒซ ์ค์ ํ ์ค์ ์์ฐ์ N(3<=N<=1,000,000)๊ณผ M์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ์๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋๋ค.
์ถ๋ ฅ
์ฒซ ์ค์ ์ ๋ ฌ ํ M์ ๊ฐ์ ์์น ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
8 32 23 87 65 12 57 32 99 81
์์ ์ถ๋ ฅ 1
3
import java.util.*;
class Main {
public void solution(int n, int m, List<Integer> list) {
int result = 0;
int lt = 0;
int rt = list.size();
int mid= rt/2;
Collections.sort(list);
while(list.get(mid).intValue() != m) {
if(list.get(mid).intValue() > m) {
rt = mid;
mid = (lt+rt)/2;
}else {
lt = mid;
mid = (lt+rt)/2;
}
}
result = mid+1;
System.out.println(result);
};
public static void main(String args[]) {
Main main = new Main();
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int M = in.nextInt();
List<Integer> list = new ArrayList<>();
for(int i=0; i<N; i++) {
list.add(in.nextInt());
}
main.solution(N, M, list);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ง๊ตฌ๊ฐ ์ ํ๊ธฐ(๊ฒฐ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2021.06.28 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ฎค์ง๋น๋์ค(๊ฒฐ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2021.06.28 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ขํ ์ ๋ ฌ (0) | 2021.06.27 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ฅ๋๊พธ๋ฌ๊ธฐ (0) | 2021.06.27 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ค๋ณต ํ์ธ (0) | 2021.06.27 |
Comments