분류 전체보기216 백준 10815: 수 찾기(java) 문제풀이 BufferedReader와 StringTokenizer를 이용해 N. 적혀있는 정수, M, 구해야 할 정수를 입력받고 저장한 후 이진 탐색을 이용하여 판단하면 된다. 이진 탐색 알고리즘을 구현하지 않고 Arrays.binarySearch()를 사용하여 풀이하였다.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=.. 2024. 7. 19. 백준 1920: 수 찾기(java) 문제풀이 아래와 같이 비교하는 코드로는 시간 초과 에러가 표시된다. 컬렉션과 contains()를 사용하지 않고 배열 2개로 순차 비교하는 방법도 마찬가지다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Vector;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()); St.. 2024. 7. 18. 백준 24511: queuestack(java) 문제풀이 A가 스택일 때는 항상 새로 삽입된 값이 pop되고(스택은 LIFO 구조이므로), 처음 삽입된 B값은 유지되기 때문에 A가 큐일 때만 구현하면 된다. A(i)마다 큐를 각각 선언하기보다는 모든 큐를 합쳐 덱으로 표현했는데, 이는 아래와 같이 설명할 수 있다.import java.io.BufferedReader;import java.util.Queue;import java.util.Deque;import java.util.LinkedList;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[].. 2024. 7. 18. 백준 1021: 회전하는 큐(java) 문제풀이 덱을 사용하는 문제다. 목표하는 인덱스 앞 요소까지 반대편으로 옮겨 주고 pop()하여 푸는 문제이므로 다른 덱 문제들과 크게 다르지 않다.2번 연산과 3번 연산 중 최소 반복 횟수를 구하기 위해서는 목표하는 요소의 위치가 덱의 절반 지점의 앞에 있는지 뒤에 있는지만 결정해주면 된다. int half;if(deque.size()%2==0) //짝수 개 half=deque.size()/2-1;else half=deque.size()/2; 이때 덱의 크기가 짝수라면 size()에 2를 나눈 곳에서 1을 한번 더 빼 주어야 한다.if(targetIndex목표가 덱의 앞쪽에 있는 2번 연산의 경우 목표 인덱스 바로 앞 요소까지 반대편으로 보내주고, 이동시킨 횟수만큼 count를 증가시킨다. 3번 연산.. 2024. 7. 18. 백준 2840: 행운의 바퀴(java) 문제풀이 이전의 유사한 유형과 마찬가지로 덱을 사용해 풀이했다. BufferedReader와 StringTokenizer를 이용하여 입력받고 분리하는 과정은 생략하도록 하겠다.Deque wheel=new LinkedList();for(int i=0; i바퀴의 문자들을 저장할 덱 wheel을 선언해 주고, N개의 '?'들을 초깃값으로 삽입한다. '?'으로 초기화하면 후에 바퀴를 돌리며 한 번도 방문되지 않은 값을 '?'로 따로 설정할 필요가 없다. 이후 회전할 바퀴 수와 입력 문자를 저장할 rotate와 character 변수를 각각 만들어 준다. 이때 N+x바퀴를 돌리는 것은 x바퀴를 돌리는 것과 동일하므로 rotate = (입력값)%N 이다.for(int j=0; jrotate번째 칸 바로 앞의 칸까.. 2024. 7. 18. 백준 1158: 요세푸스 문제(java) 문제풀이 https://sysouthelloworld.tistory.com/115 백준 11866: 요세푸스 문제 0(java)문제풀이 큐의 전단과 후단에서 삽입과 삭제가 모두 일어나므로, 마찬가지로 덱을 사용해 풀이했다. for(int i=0; i우선 1부터 N까지의 값을 덱에 삽입하여 덱을 완성한다. 이제 K번째 요소를 덱에sysouthelloworld.tistory.com위와 동일한 풀이 방법을 사용하되, 덱이 아닌 연결 리스트를 사용했다.Deque이 LinkedList를 상속하므로 유의미한 차이는 없다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Lin.. 2024. 7. 17. 이전 1 ··· 14 15 16 17 18 19 20 ··· 36 다음