๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ฏ | ๋ฐฑ์ค€/๐Ÿ™‚ | Silver

[Kotlin, S4] ๋ฐฑ์ค€ 2090๋ฒˆ ์กฐํ™”ํ‰๊ท 

by immgga 2024. 11. 25.
๋ฐ˜์‘ํ˜•

์ถœ์ฒ˜: unsplash.com

 

์กฐํ™”ํ‰๊ท (2090๋ฒˆ)

Silver 4

#์ˆ˜ํ•™ #๊ตฌํ˜„ #์ •์ˆ˜๋ก  #์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•

 

๋ฌธ์ œ ๋‚ด์šฉ

 

 

๋ฌธ์ œ ์ ‘๊ทผ

์ž…๋ ฅ๋ฐ›๋Š” ์ˆ˜๋“ค์„ ๋ชจ๋‘ ์—ญ์ˆ˜๋กœ ๋ฐ”๊พผ ๊ฐ’๋“ค์˜ ํ•ฉ์„ ๋ถ„์ˆ˜ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ ํ›„ ๊ทธ ๊ฐ’์˜ ์—ญ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

1, 2, 4๊ฐ€ ๋“ค์–ด์™”์œผ๋ฉด 1 + 1/2 + 1/4 = 7/4๋ฅผ ์—ญ์ˆ˜๋กœ ์ถœ๋ ฅํ•ด์„œ ์ •๋‹ต์ด 4/7์ด ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

์ž…๋ ฅ๊ฐ’๋“ค์˜ ์—ญ์ˆ˜๋ฅผ ๋”ํ•˜๋ ค๋ฉด ํ†ต๋ถ„์ด ํ•„์š”ํ•œ๋ฐ, ํ†ต๋ถ„์€ ์ž…๋ ฅ๊ฐ’๋“ค์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ด์šฉํ•ด ํ†ต๋ถ„์„ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

์ฃผ์˜ํ•ด์•ผ ํ•˜๋Š” ์ ์€ ์ถœ๋ ฅ์„ ๊ฐ€์žฅ ์ ์€ ์ˆ˜์˜ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ต์„ ์ถœ๋ ฅํ•˜๋ผ๊ณ  ๋ผ ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ์‰ฝ๊ฒŒ ํ’€๋ฉด ์•ฝ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•˜๋ผ๋Š” ๋œป์ด๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๋ถ„๊นŒ์ง€ ์ง„ํ–‰ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ์ฝ”๋“œ

๋”๋ณด๊ธฐ
import java.io.BufferedReader
import java.io.InputStreamReader

fun main() {
    val bf = BufferedReader(InputStreamReader(System.`in`))
    val n = bf.readLine().toInt()
    val list = bf.readLine().split(" ").map { it.toLong() }
    var numerator = 0L       // ๋ถ„์ž
    var denominator = 1L     // ๋ถ„๋ชจ

    for (i in list.indices) {
        val gcd = gcd(denominator, list[i])
        denominator = (denominator * list[i]) / gcd
    }

    for (i in list.indices) {
        numerator += denominator / list[i]
    }

    val reduction = gcd(denominator, numerator)
    println("${denominator / reduction}/${numerator / reduction}")
}

private fun gcd(a: Long, b: Long): Long {
    return if (b == 0L) a
    else gcd(b, a % b)
}

 

๋ฌธ์ œ ํ’€์ด

์ž…๋ ฅ๊ฐ’๋“ค์„ ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ , ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•ด ์ค€๋‹ค.

๋ถ„๋ชจ๋ฅผ ํ™•์ • ์ง“๊ณ , ๋ถ„๋ชจ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ต๋ถ„์„ ์ง„ํ–‰ํ•ด์„œ ๋ถ„์ž๋„ ๊ตฌํ•ด์ค€๋‹ค.

 

๊ทธ๋‹ค์Œ ์•ฝ๋ถ„์„ ์ง„ํ–‰ํ•ด ๋ถ„์ž์™€ ๋ถ„๋ชจ์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ 

๋ถ„๋ชจ / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, ๋ถ„์ž / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •

ํƒ€์ž…์ด Int ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

Long ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•ด ์ฃผ์ž. 

Int ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š”์ง€๋Š” ์ด ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.

input:
9
97 89 87 83 79 71 67 61 59

answer: 
84314287678878321/10126009550065045

 

์œ„์—์„œ๋„ ์–ธ๊ธ‰ํ–ˆ๋‹ค์‹œํ”ผ, ๋ถ„์ž์™€ ๋ถ„๋ชจ๋ฅผ ๊ตฌํ•˜๊ณ  ๋‚˜์„œ ์•ฝ๋ถ„ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋ง์ž, ์•ฝ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์ œ์ถœํ•˜๋ฉด 40%์—์„œ ์˜ค๋‹ต ์ฒ˜๋ฆฌ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

728x90
๋ฐ˜์‘ํ˜•