반응형
문제

풀이
문제 자체는 어렵지 않다. 세 점의 좌표가 같은 직사각형을 만들려면, X,Y 축 좌표의 값이 각각 2개씩 같아야 한다.
무슨 말인지 이해가 안 된다면, 그림을 그려보면 된다.
즉, 아래 예시 코드에서는 각각 5가 두개씩 있고 7만 하나이므로 나와야 하는 결과는 7 7 인 셈이다.
5 5
5 7
7 5
코드
문제 자체는 쉬웠는데 어떻게 코드로 구현할지 고민했다. 원래는 이중 for 문으로 결과 값까지 구하려고 했는데, 쉽지 않았다.
직사각형은 총 4개의 점이니 개수는 고정되어 있기 때문에 0,1,2는 하드코딩으로 넣어주었다.
각각의 값을 비교해 두개인 것을 제외한 나머지 하나를 출력하도록 하였다.
package AlgorithmStudy.src.bronze;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class B3009 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[][] point = new int[3][2];
StringTokenizer st;
for (int i = 0; i < 3; i++) {
String a = br.readLine();
st = new StringTokenizer(a);
for (int j = 0; j < 2; j++) {
int n = Integer.parseInt(st.nextToken());
point[i][j] = n;
if (1 > point[i][j] || point[i][j] > 1000) return;
}
}
for (int i = 0; i < 2; i++) {
int b = 0, c = 0, d = 0;
// for (int j = 0; j < 3; j++) {
b = point[0][i];
c = point[1][i];
d = point[2][i];
if (b == c) {
System.out.print(d + " ");
} else if (c == d) {
System.out.print(b + " ");
} else if (b == d) {
System.out.print(c + " ");
}
// }
}
}
}
반응형
반응형
문제

풀이
문제 자체는 어렵지 않다. 세 점의 좌표가 같은 직사각형을 만들려면, X,Y 축 좌표의 값이 각각 2개씩 같아야 한다.
무슨 말인지 이해가 안 된다면, 그림을 그려보면 된다.
즉, 아래 예시 코드에서는 각각 5가 두개씩 있고 7만 하나이므로 나와야 하는 결과는 7 7 인 셈이다.
5 5
5 7
7 5
코드
문제 자체는 쉬웠는데 어떻게 코드로 구현할지 고민했다. 원래는 이중 for 문으로 결과 값까지 구하려고 했는데, 쉽지 않았다.
직사각형은 총 4개의 점이니 개수는 고정되어 있기 때문에 0,1,2는 하드코딩으로 넣어주었다.
각각의 값을 비교해 두개인 것을 제외한 나머지 하나를 출력하도록 하였다.
package AlgorithmStudy.src.bronze;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class B3009 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[][] point = new int[3][2];
StringTokenizer st;
for (int i = 0; i < 3; i++) {
String a = br.readLine();
st = new StringTokenizer(a);
for (int j = 0; j < 2; j++) {
int n = Integer.parseInt(st.nextToken());
point[i][j] = n;
if (1 > point[i][j] || point[i][j] > 1000) return;
}
}
for (int i = 0; i < 2; i++) {
int b = 0, c = 0, d = 0;
// for (int j = 0; j < 3; j++) {
b = point[0][i];
c = point[1][i];
d = point[2][i];
if (b == c) {
System.out.print(d + " ");
} else if (c == d) {
System.out.print(b + " ");
} else if (b == d) {
System.out.print(c + " ");
}
// }
}
}
}
반응형