https://www.acmicpc.net/problem/15973
문제
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[][] square = new int[2][4];
for(int i=0; i<2; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
square[i][0] = Integer.valueOf(st.nextToken());
square[i][1] = Integer.valueOf(st.nextToken());
square[i][2] = Integer.valueOf(st.nextToken());
square[i][3] = Integer.valueOf(st.nextToken());
}
String ans = solution(square);
System.out.println(ans);
}
public static String solution(int[][] square) {
if(square[0][2] < square[1][0] || square[1][2] < square[0][0] || square[0][3] < square[1][1] || square[1][3] < square[0][1])
return "NULL";
else if((square[0][0] == square[1][2] && square[0][1] == square[1][3]) ||
(square[0][2] == square[1][0] && square[0][1] == square[1][3]) ||
(square[0][0] == square[1][2] && square[0][3] == square[1][1]) ||
(square[0][2] == square[1][0] && square[0][3] == square[1][1]))
return "POINT";
else if(square[0][0] == square[1][2] || square[0][2] == square[1][0] ||
square[0][1] == square[1][3] || square[0][3] == square[1][1])
return "LINE";
else
return "FACE";
}
}
회고
기하학이라고 해서 대각선 이용해서 일직선이 겹치는 곳을 조건분기 하려고 했으나, 그렇게 하다가는 예외 사항이 많다는 것을 깨달았고 결국 노가다성..
중학생 올림피아드였다는데 왜인지 알 것 같았다.. 근데 왜 실버에 있던 거지
'코딩테스트' 카테고리의 다른 글
[백준] 1495번 '기타리스트' - Java (0) | 2024.08.13 |
---|---|
[백준] 2531번 '회전 초밥' - Java (0) | 2024.08.11 |
[백준] 30023번 '전구 상태 바꾸기' - Java (0) | 2024.08.09 |
[백준] 1946번 '신입 사원' - Java (0) | 2024.08.07 |
[백준] 1581번 '락스타 락동호' - Java (0) | 2024.08.06 |