์กฐํํ๊ท (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%์์ ์ค๋ต ์ฒ๋ฆฌ๊ฐ ๋ ๊ฒ์ด๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S3] ๋ฐฑ์ค 32186๋ฒ ์ญ์ ๋ด ์ด์ธ๊ณ ์์ด์ ์๋ชป๋๋ค (0) | 2024.12.18 |
---|---|
[Kotlin, S2] ๋ฐฑ์ค 26007๋ฒ Codepowers (0) | 2024.12.03 |
[Kotlin, S4] ๋ฐฑ์ค 16471๋ฒ ์์ ์ ๋ด๊ธฐ (0) | 2024.11.17 |
[Kotlin, S5] ๋ฐฑ์ค 11116๋ฒ ๊ตํต๋ (0) | 2024.11.15 |
[Kotlin, S2] ๋ฐฑ์ค 2232๋ฒ ์ง๋ขฐ (0) | 2024.10.21 |