반응형
import java.io.*;
import java.util.Arrays;
/**
* 숫자 카드는 정수 하나가 적혀져 있는 카드이다.
* 상근이는 숫자 카드 N개를 가지고 있다.
* 정수 M개가 주어졌을 때,
* 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.
* */
//정렬 + 이분탐색
public class Main {
public static void main(String[] args) throws Exception{
int N,M=0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
String[]strNum=br.readLine().split(" ");
M = Integer.parseInt(br.readLine());
String[]strmNum=br.readLine().split(" ");
StringBuilder sb = new StringBuilder();
Arrays.sort(strNum);
for(int j=0;j<M;j++){
sb.append((Arrays.binarySearch(strNum,strmNum[j])>=0)?1+" ":0+" ");
}
System.out.print(sb);
}
}
정렬 + 이분탐색을 이용해서 풀었습니다.
아슬아슬하게 넘어가서 다른분들 코드를 참고해서 더 공부 해야겠습니다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 백준 10866번: 덱 JAVA (0) | 2020.12.27 |
---|---|
[알고리즘] 백준 10828번: 스택 JAVA (0) | 2020.12.25 |
[알고리즘] 백준 2751번: 수 정렬하기 2 Java (0) | 2020.10.26 |
[알고리즘] 퀵 정렬 Java (0) | 2020.10.26 |
[알고리즘] 백준 2750번 수 찾기 Java (0) | 2020.08.28 |
댓글