10. 기하: 직사각형과 삼각형

WonDDak·2023년 5월 1일
0

BAEKJOON

목록 보기
10/10

수학 부분 입니다.

빠르게 넘길게용

27323 직사각형

사각형의 넓이는 가로*세로 죠

import java.io.BufferedReader
import java.io.InputStreamReader

//https://www.acmicpc.net/problem/27323
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val a = br.readLine().toShort()
    val b = br.readLine().toShort()
    println(a*b)
}

1085 직사각형에서 탈출

각점으로 부터 최솟값들을 비교해주면 되겠지용

import java.io.BufferedReader
import java.io.InputStreamReader
import java.lang.Integer.min

//https://www.acmicpc.net/problem/1085
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val (x,y,w,h) = br.readLine().split(" ").map { it.toInt() }

    println(min(min(w-x,x),min(h-y,y)))
}

3009 네 번째 점

하나만 있는 값이 우리가 찾는 값입니다.

import java.io.BufferedReader
import java.io.InputStreamReader

//https://www.acmicpc.net/problem/3009
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val x = IntArray(3) { 0 }
    val y = IntArray(3) { 0 }
    val ans = IntArray(2) { 0 }

    for (i in 0..2) {
        val (t_x, t_y) = br.readLine().split(" ").map { it.toInt() }
        x[i] = t_x
        y[i] = t_y
    }

    for (i in 0..2) {
        if (x[i % 3] == x[(i + 1) % 3]) {
            ans[0] = x[(i + 2) % 3]
        }

        if (y[i % 3] == y[(i + 1) % 3]) {
            ans[1] = y[(i + 2) % 3]
        }
    }
    println(ans.joinToString(" "))
}

15894 수학은 체육과목 입니다

공식을 구하면 됩니다 n번째 둘레는 4*n입니다~

import java.io.BufferedReader
import java.io.InputStreamReader

//https://www.acmicpc.net/problem/15894
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val n = br.readLine().toLong()
    println(4 * n)
}

9063 대지

제일 작은 x,y 제일큰 x,y를 구하면 되겠지용

import java.io.BufferedReader
import java.io.InputStreamReader

//https://www.acmicpc.net/problem/9063
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val n = br.readLine().toInt()
    val xArray = IntArray(n) { 0 }
    val yArray = IntArray(n) { 0 }

    for (i in 0 until n) {
        val (x, y) = br.readLine().split(" ").map { it.toInt() }
        xArray[i] = x
        yArray[i] = y
    }

    xArray.sort()
    yArray.sort()
    println((xArray[xArray.lastIndex]- xArray[0]) * (yArray[yArray.lastIndex] - yArray[0]))
}

10101 삼각형 외우기

삼각형의 정의만 잘 알고있다면..

import java.io.BufferedReader
import java.io.InputStreamReader

//https://www.acmicpc.net/problem/10101
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val a = IntArray(3){0}
    for (i in 0 until 3) {
        a[i] = br.readLine().toInt()
    }
    if (a.sum() != 180) {
        println("Error")
    } else {
        when (a.toSet().size) {
            3 -> println("Scalene")
            2 -> println("Isosceles")
            else -> println("Equilateral")
        }
    }
}

5073 삼각형과 세 변

위 문제와 비슷합니다.

import java.io.BufferedReader
import java.io.InputStreamReader

//https://www.acmicpc.net/problem/5073
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    while (true) {
        val array = br.readLine().split(" ").map { it.toInt() }
        if (array.sum() == 0) {
            break
        }
        val check = array.sorted()

        if (check[2] < check[1] + check[0]) {
            when (check.toSet().size) {
                3 -> println("Scalene")
                2 -> println("Isosceles")
                else -> println("Equilateral")
            }
        } else {
            println("Invalid")
        }
    }
}

14215 세 막대

위의 조건을 이용하는 문제입니다

import java.io.BufferedReader
import java.io.InputStreamReader
import java.lang.Integer.min

//https://www.acmicpc.net/problem/14215
fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val a = br.readLine().split(" ").map { it.toInt() }.sorted()
    println((a[0] + a[1] + min(a[2], a[0] + a[1] - 1)))
}

수학쪽은 솔직히 수학적 개념이 있나 없나 차이라서,,,(본인은 수학과라 잘알고..)
모든 문제풀이는
https://github.com/jmseb3/backjoon_kt
에서 확인 할 수 있습니다

profile
안녕하세요. 원딱입니다.

2개의 댓글

comment-user-thumbnail
2024년 12월 23일

마지막 세 막대 문제의 번호에 오타가 있습니다 14125 는 삼트리스 문제 입니다

1개의 답글