Skip to content

Commit dd48e19

Browse files
committed
[Silver IV] Title: 수 찾기, Time: 556 ms, Memory: 49084 KB -BaekjoonHub
1 parent c6c6aba commit dd48e19

File tree

2 files changed

+12
-30
lines changed

2 files changed

+12
-30
lines changed

백준/Silver/1920. 수 찾기/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
### 성능 요약
66

7-
메모리: 47124 KB, 시간: 688 ms
7+
메모리: 49084 KB, 시간: 556 ms
88

99
### 분류
1010

1111
자료 구조, 정렬, 이분 탐색, 집합과 맵, 해시를 사용한 집합과 맵
1212

1313
### 제출 일자
1414

15-
2025년 7월 29일 21:45:53
15+
2025년 7월 29일 21:53:22
1616

1717
### 문제 설명
1818

백준/Silver/1920. 수 찾기/수 찾기.java

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,35 @@
22
import java.util.*;
33

44
public class Main {
5-
static int[] num, qList;
5+
static Set<Integer> set;
6+
static int[] qList;
67
static int N, M;
7-
static StringBuilder sb;
88
static StringTokenizer st;
99
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
1010
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
1111
public static void main(String[] args) throws Exception{
1212
inputSetting();
13-
for(int i = 0; i < M; i++) sb.append(binarySearch(qList[i])).append("\n");
13+
for(int i = 0; i < M; i++){
14+
if(set.contains(qList[i])) bw.append('1');
15+
else bw.append('0');
16+
17+
bw.append('\n');
18+
}
1419

15-
bw.append(sb);
1620
bw.close();
1721
}
1822

19-
static int binarySearch(int find){
20-
int l, r, m;
21-
22-
l = 0;
23-
r = N - 1;
24-
25-
while(l <= r){
26-
m = (l + r) / 2;
27-
28-
if(num[m] == find) return 1;
29-
if(num[m] < find){
30-
l = m + 1;
31-
}else if(find < num[m]){
32-
r = m - 1;
33-
}
34-
}
35-
return 0;
36-
}
37-
3823
static void inputSetting() throws Exception{
39-
sb = new StringBuilder();
4024
N = Integer.parseInt(br.readLine());
41-
num = new int[N];
25+
set = new HashSet<>();
4226

4327
st = new StringTokenizer (br.readLine());
44-
for(int i = 0; i < N; i++) num[i] = Integer.parseInt(st.nextToken());
28+
for(int i = 0; i < N; i++) set.add(Integer.parseInt(st.nextToken()));
4529

4630
M = Integer.parseInt(br.readLine());
4731
qList = new int[M];
4832

4933
st = new StringTokenizer(br.readLine());
5034
for(int i = 0; i < M; i++) qList[i] = Integer.parseInt(st.nextToken());
51-
52-
Arrays.sort(num);
5335
}
5436
}

0 commit comments

Comments
 (0)