반응형
문제: 직사각형의 좌표 구하기
설명: 직사각형을 만드는데 필요한 4개의 점 중 3개가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 coordinates 가 매개변수로 주어질 때, 직사각형을 만드는데 필요한 나머지 한 점의 좌표를 return 하도록 함수를 작성해주세요. 단, 직사각형의 각 변은 x 축, y축에 평행하며, 반드시 직사각형을만들 수 있는 경우만 입력으로 주어집니다.
입력 및 출력 예:
입력 | 출력 |
[[1,4],[3,4],[3,10]] | [1,10] |
[[1,1],[2,2],[1,2]] | [2,1] |
위 문제는 다음과 같이 간단하게 xor 연산으로 풀어낼 수 있다.
package com.tistory.johnmarc;
import java.util.Arrays;
public class CoordinateSquare {
public static void main(String[] args) {
int[][][] coordinates = {
{{1, 4}, {3, 4}, {3, 10}},
{{1, 1}, {1, 2}, {2, 2}}
};
for (int[][] inputs : coordinates) {
int[] answer = calculateSquareCoordinate(inputs);
System.out.println(Arrays.deepToString(inputs) + " => " + Arrays.toString(answer));
}
}
private static int[] calculateSquareCoordinate(int[][] coordinates) {
int[] answer = new int[2];
answer[0] = coordinates[0][0] ^ coordinates[1][0] ^ coordinates[2][0];
answer[1] = coordinates[0][1] ^ coordinates[1][1] ^ coordinates[2][1];
return answer;
}
}
출처 - https://programmers.co.kr/learn/courses/18/lessons/1878
반응형
'Programming > Algorithm' 카테고리의 다른 글
[Java-알고리즘] toLowerCase Implemet (0) | 2019.10.26 |
---|---|
[Java-알고리즘] Split a String in Balanced Strings (0) | 2019.10.26 |
[Java-알고리즘] Jewels and Stones (0) | 2019.10.26 |
[Java-알고리즘] IP 주소 분리 (0) | 2019.10.26 |
[Java - 알고리즘] 입력된 정수의 합 구하기 (0) | 2019.09.22 |