티스토리 뷰
문제를 요약하자면, 직사각형을 그리고 있는 꼭지점의 좌표 3개를 받으면, 나머지 꼭지점의 위치 하나를 출력하는 것이다.
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//총 몇개의 숫자를 입력 받을 것인지
int count = 0;
int resultx = 0;
int resulty = 0;
int[] xy = new int[6];
count = sc.nextInt();
if(count > 0) {
for(int i = 0 ; i < count ; i ++) {
//띄어쓰기 기준으로 입력을 받습니다. 범위를 넘을 경우 함수를 종료시킵니다.
for(int j = 0; j < 3 ; j++) {
xy[2*j] = sc.nextInt();
xy[2*j+1] = sc.nextInt();
if(xy[2*j] > 1000 || xy[2*j+1] > 1000) return;
}
//꼭지점을 찾는 알고리즘
for (int k = 0 ; k < 3 ; k++) {
if( (xy[2*k] == xy[(2*(k+1))%6] || xy[2*k] == xy[(2*(k+2))%6])
&& (xy[2*k +1] == xy[(2*(k+1) +1)%6] || xy[2*k +1] == xy[(2*(k+2) +1)%6]) ) {
resultx = xy[(2*(k+1))%6] + xy[(2*(k+2))%6] - xy[2*k];
resulty = xy[(2*(k+1) +1)%6] + xy[(2*(k+2) +1)%6] - xy[2*k +1];
break;
}
if( k == 2) return;
}
System.out.println(resultx+" "+resulty);
}
}
sc.close();
}
}
먼저 입력을 받은 뒤, 공간을 낭비하지 않기 위해 6칸의 int 배열을 만들고,
찾을 꼭지점의 대각선 점을 찾는 것이다.
여기에서 메인 아이디어라고 볼 수 있는 것은
대각선 점을 찾을 때 식의 복잡도를 완화하기 위해
Round Queue의 원리를 활용한 것이다(나머지 연산자를 활용)
'알고리즘 문제 풀이 ' 카테고리의 다른 글
달팽이 그리기 (0) | 2018.09.17 |
---|---|
자연수의 합 / Division (0) | 2018.09.17 |
단지번호 붙이기 (0) | 2018.09.17 |
백준 스택 수열 1874번 (0) | 2018.07.03 |
weird (0) | 2018.07.01 |
XHAENEUNG - 똥 같은 코드 (0) | 2018.01.29 |
Endians - n진법 표기 관련 문제 (0) | 2018.01.25 |
algospot 문제 잘 풀기 시작 (0) | 2018.01.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- webpack
- javascript #연속합 #알고리즘 #백준
- 백준
- javascript #백준 #알고리즘 #LCS
- java #알고리즘 #백준 #패션왕신해빈
- 1992번
- java #하노이 #알고리즘 #백준
- java #알고리즘 #백준
- 백준 #알고리즘 #전깃줄 #NodeJs #javascript
- 알고리즘
- java #알고리즘 #백준 #퇴사
- webspider
- Game
- 중간거리 #야만나 #약속장소추천 #중간위치 #웹 #리액트 #React #reactjs #kakao지도 #kakaoapi
- 2630번
- javascript #백준 #회의실배정 #알고리즘
- 한글 자동 완성
- Terminal
- npm
- Javascript
- java #백준 #알고리즘 #로또 #6603
- 쿼드트리
- 백준 #java #알고리즘
- java #알고리즘 #백준 #N과M #백트래킹
- react
- java #오르막수 #백준 #알고리즘
- TypeScript
- java #퀵소트 #quicksort #알고리즘 #백준
- 색종이자르기
- java #백준 #알고리즘 #2805 #나무자르기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함