룬아님의 취중코딩

직사각형 나머지 좌표 구하기 본문

개발/알고리즘

직사각형 나머지 좌표 구하기

룬아님 2020. 3. 11. 23:21

문제 설명

직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다.

제한사항

  • v는 세 점의 좌표가 들어있는 2차원 배열입니다.
  • v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다.
  • 좌표값은 1 이상 10억 이하의 자연수입니다.
  • 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 좌표, y축 좌표] 순으로 담아 return 해주세요.
import java.util.*

class Solution {
    fun solution(v: Array<IntArray>): IntArray {

        val answer = IntArray(2)
        for (j in 0..1) {
            val queue: Queue<Int> = LinkedList()
            for (i in 0..2) {
                if (queue.isEmpty()) {
                    queue.add(v[i][j])
                } else {
                    if (queue.peek() == v[i][j]) {
                        queue.remove()
                    } else {
                        queue.add(v[i][j])
                    }
                }
            }
            answer[j] = queue.peek()
        }
        return answer
    }
}
반응형

'개발 > 알고리즘' 카테고리의 다른 글

Codility 34번 CommonPrimeDivisors  (0) 2019.11.05
Codility 33번 ChocolatesByNumbers  (0) 2019.10.29
Codility 32번 CountNonDivisible  (0) 2019.10.20
Codility 31번 CountSemiprimes  (0) 2019.10.19
Codility 29번 Peaks  (0) 2019.09.30
Comments