Programmers - 예상 대진표 with JAVA (V)
문제 N명의 사람이 대진표를 따라 경기를 진행하는데 A,B는 몇번째 경기에 만날것인지 구하라 로직 만나는 경우는 항상 같다 (1, 2), (3, 4), (5, 6) 과 같이 첫번째 인덱스가 홀수이면서 1차이가 나야한다. 예를 들어, (2, 3)과 같은 경우는 안된다. 또한 위의 경우에 해당하지 않는다면 각각의 인덱스를 2로 나누고 올림처리를 하면 된다. 예를 들어, 인덱스 4라고 가정한다면, 4는 3과 경기를 하고 이기면 2가 되는 방식인 것이다. 코드 class Solution{ public int solution(int n, int a, int b){ int answer = 1; int x = Math.min(a, b); int y = Math.max(a, b); while(true){ if(x%2 ..
Programmers - 단속 카메라 with JAVA
문제 - 차량의 이동 경로가 주어진다. - 이 때, 최소한의 카메라를 설치하여 모든 차를 한번이라도 단속할 때 설치해야하는 카메라의 수의 최소값을 구하라. 예를 들어, 다음과 같은 경우가 주어진다. 차량1 : [-20, -15] -> 차량1은 -20지점에서 고속도로에 진입해 -15지점에서 고속도로를 빠져나간다. 차량2: [-14, -5] 차량3 : [-18, -13] 차량4 : [-5, -3] 이 때, -15지점과 -5지점에 카메라를 설치하면 모든 차량을 한번은 감시하면서 최소한의 카메라를 설치한 경우가 되는 것이다. 로직 우선, 첫번째 인덱스를 기준으로 차량 데이터를 정렬한다. [-20, -15], [-18, -13], [-14, -5], [-5, -3] 순서대로 1지점, 2지점, 3지점, 4지점이라고..