

반복문을 비효율적으로 사용해서 런타임 오류가 발생했다.
package scanner;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int [][] arr = new int[3][2];
for(int i = 0; i < 3; i++){
arr[i][0] = sc.nextInt();
arr[i][1] = sc.nextInt();
}
for(int i = 1; i < 3; i++){
if(arr[0][0] == arr[i][0]) {
arr[0][0] = 0;
arr[i][0] = 0;
}
if(arr[0][1] == arr[i][1]) {
arr[0][1] = 0;
arr[i][1] = 0;
}
}
for(int i = 0; i < 3; i++){
if(arr[0][0] == 0 && arr[i][0] != 0) {
System.out.print(arr[i][0] + " ");
}
}
if(arr[0][0] != 0) System.out.print(arr[0][0] + " ");
for(int i = 0; i < 3; i++){
if(arr[0][1] == 0 && arr[i][1] != 0) {
System.out.println(arr[i][1]);
}
}
if(arr[0][1] != 0) System.out.println(arr[0][1]);
}
}
뭔가 비효율적이라고 생각한다.
단순히 x와 y값 중에 짝이 없는 값을 출력하는 코드를 작성했다.
다른 사람이 해결한 방식을 참고해봐야겠다.
반복문으로 판별하기보다는 단순히 조건문을 여러개 써서 짝이 아닌 것을 찾아보겠다.
package scanner;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int [][] arr = new int[3][2];
for(int i = 0; i < 3; i++){
arr[i][0] = sc.nextInt();
arr[i][1] = sc.nextInt();
}
int x, y;
if(arr[0][0] == arr[1][0]) x = arr[2][0];
else if(arr[0][0] == arr[2][0]) x = arr[1][0];
else x = arr[0][0];
if(arr[0][1] == arr[1][1]) y = arr[2][1];
else if(arr[0][1] == arr[2][1]) y = arr[1][1];
else y = arr[0][1];
System.out.println(x + " " + y);
}
}
이렇게 풀이해봤지만 조건문을 사용하는게 미세하게 더 오래걸렸다..!
Scanner가 역시 너무 느린듯 하다.