반응형
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
풀이 >
Queue 를 사용하여
큐의 맨 앞의 요소를(poll) 맨 뒤로 넣어준다(offer) k-1번 반복
k번째에 요소를 꺼내고 출력한다
Queue에 남은 요소가 없을 때 까지 반복
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Baekjoon1920 {
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());
int[] a = new int[n];
StringTokenizer stN = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
a[i] = Integer.parseInt(stN.nextToken());
}
// 이분탐색을 하기위해 오름차순으로 정렬하기
Arrays.sort(a);
int m = Integer.parseInt(br.readLine());
StringTokenizer stM = new StringTokenizer(br.readLine());
for (int i = 0; i < m; i++) {
// 이분 탐색
int index = Arrays.binarySearch(a, Integer.parseInt(stM.nextToken()));
if (index < 0) bw.append(String.valueOf(0));
else bw.append(String.valueOf(1));
bw.append("\n");
}
bw.flush();
br.close();
bw.close();
}
}
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
[JAVA]프로그래머스 - 문자열 내 p와 y의 개수 (0) | 2020.12.05 |
---|---|
[JAVA]프로그래머스 - 크레인 인형뽑기 게임 (0) | 2020.12.02 |
[JAVA]백준 - 1920.수 찾기 (0) | 2020.11.13 |
[JAVA]백준 - 1018.체스판 다시 칠하기 (0) | 2020.11.11 |
[JAVA]백준 - 1181.단어 정렬(compare 오버라이딩) (0) | 2020.11.10 |