본문 바로가기
Coding Test/Programmers

[프로그래머스] 나머지 한점(알고리즘) - Java

by lucas_owner 2022. 12. 12.

문제

https://school.programmers.co.kr/learn/courses/18/lessons/1878?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제 분석 및 이해

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

 

[Java] 1차원 배열 & 2차원 배열

이 글에서는 Java의 1,2차원 배열에 대해서 알아보도록 하겠습니다!! - 1차원 배열의 선언, 초기화, 출력 방법. - 2차원 배열의 선언, 초기화, 출력 방법. 1차원 배열이란? Java뿐 아니라 모든 언어에서

lucas-owner.tistory.com


입출력 예시 

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

solution code


전체 코드는 아래의 링크에서 확인해보세요! 

*전체 코드 확인하기!

반응형

댓글