Algorithm 35

[Algorithm] 송아지 찾기1(BFS:상태트리탐색)

설명 현수의 위치와 송아지의 위치가 수직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다. 송아지는 움직이지 않고 제자리에 있다. 현수는 스카이 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요. 입력 첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000까지이다. 출력 점프의 최소횟수를 구한다. 답은 1이상이며 반드시 존재합니다. 풀이. public class Main { int[] arr = {1, -1, 5}; // 뻗어나갈 3가지 자식노드 Queue Q = new LinkedList(); publi..

Algorithm 2021.07.11

[Algorithm] 이분탐색(이분검색)

설명 임의의 N개의 수를 오름차순으로 정렬한 다음 M이 주어지면 이분검색으로 M이 정렬된 상태에서 몇 번째에 있는지 구하는 프로그램을 작성하세요. 단 중복값은 존재하지 않습니다. 입력 첫 줄에 한 줄에 자연수 N(3 m) { right = middle-1; middle = (left+right)/2; // middle보다 m이 크다. -> left를 우축으로 이동. }else{ left = middle+1; middle = (left+right)/2; } } System.out.println(result); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = s..

Algorithm 2021.07.07

[Algorithm] 좌표정렬(Comparable, compareTo)

설명 N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다. 입력 첫째 줄에 좌표의 개수인 N(3 그외 사용자 기준 정렬 오늘은 Comparable 인터페이스의 compareTo 메서드를 오버라이드하여 풀어본다. 풀이. import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; class Point implements Comparable{ public int x, y; Point(int x, int y){ this.x = x; this.y = y; } @Override public int..

Algorithm 2021.07.07