문제
https://school.programmers.co.kr/learn/courses/18/lessons/1878?language=java
문제 분석 및 이해
1. 직사각형을 만들어야 한다.
2. 직사각형에 필요한 점4개중 3개의 좌표값이 주어진다.
3. 나머지 한점의 좌표를 Return 한다.
(좌표는 [x축, y축] 순서로 Return 해야 한다.)
- 해당 문제는 코딩의 능력 보다는 이해하는 것이 가장 중요하다고 느꼈다.
좌표 3개가 주어지기 때문에 그 점을 활용 하면 된다.
소거법을 사용하여 해결 했다.
직사각형을 구성하는 4점의 좌표는 결국 x축 2개가 같고, y축 2개가 같다는 점을 이용했다.
나머지 한점을 구하는 것 이기 때문에 x축의 1,2 인덱스의 좌표가 같다면? 0번 인덱스의 x축이
우리에게 필요한 x축의 값과 같다는 결론이다!
* y축도 같은 방식으로 구한다.
* 2차원 배열에 대해서 기본적인 것을 알고 있다는 전제하에 가능하다.
2차원 배열에 대해서 아래링크에서 확인 가능합니다.
https://lucas-owner.tistory.com/11
입출력 예시
v | result |
[[1,4], [3,4], [3,10]] | [1,10] |
[[1,1], [2,2], [1,2]] | [2,1] |
#예시 1번
- 세 점이 [1,4], [3,4], [3,10]에 위치하였을 때 [1,10]에 점이 위치 해야한다.
#예시 2번
- 세 점이 [1, 1], [2, 2], [1, 2] 위치에 있을 때, [2, 1]에 점이 위치하면 직사각형이 됩니다.
Code
전체 코드는 아래의 링크에서 확인해보세요!
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최대공배수(Lv1) - Java (0) | 2022.12.11 |
---|---|
[프로그래머스] 명예의전당(Lv1) - Java (0) | 2022.12.08 |
[프로그래머스] 문자열나누기(Lv1) - Java (0) | 2022.12.07 |
댓글