본문 바로가기
Computer/Algorithm

백준 3009

by HanDongWook 2022. 9. 22.
반응형

문제

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

입력

세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.

출력

직사각형의 네 번째 점의 좌표를 출력한다.

예제 입력 1

5 5
5 7
7 5

 

예제 출력 1

7 7

 

예제 입력 2

30 20
10 10
10 20

예제 출력 2

30 10

 

풀이(kotlin)

- x좌표, y좌표 각각 두종류만 존재할 수 있기때문에 이 원리를 사용하여 풀이하였다.

import java.lang.StringBuilder

private val r = System.`in`.bufferedReader()

fun main() {
    val xArr = IntArray(3)
    val yArr = IntArray(3)
    repeat(3) {
        r.readLine().split(' ').map { it.toInt() }.apply {
            xArr[it] = this[0]
            yArr[it] = this[1]
        }
    }

    val sb = StringBuilder()
    for (i in xArr) {
        if (xArr.count { it == i } == 1) {
            sb.append("$i ")
        }
    }

    for (i in yArr) {
        if (yArr.count { it == i } == 1) {
            sb.append("$i")
        }
    }

    print(sb)
}
반응형

'Computer > Algorithm' 카테고리의 다른 글

백준 4153  (0) 2022.09.22
백준 3053  (0) 2022.09.22
백준 11725  (0) 2022.09.22
백준 4963  (0) 2022.09.22
백준 2751  (1) 2022.09.22

댓글