• Home
  • About
    • Moon photo

      Moon

      개발자는 자고 싶다.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

백준 - 1193 분수찾기 풀이

07 Jun 2022

Reading time ~1 minute

문제

1193 분수찾기

screencapture

풀이

순서 1 2 3 4 5 6 7 8 9 10
분자 1 1 2 3 2 1 1 2 3 4
분모 1 2 1 1 2 3 4 3 2 1
합 2 3 3 4 4 4 5 5 5 5
분자, 분모 Max 1 2 2 3 3 3 4 4 4 4
Group 1 2 3 4
Order In Group 1 1 2 1 2 3 1 2 3 4

답

kotlin code

import java.util.*

fun main() {
    q1193()
}

fun q1193() = with(Scanner(System.`in`)) {
    val input = nextInt()
    var maxInNumeratorAndDenominator = 1;
    while (sumOfAllNaturalNumbersLessThan(maxInNumeratorAndDenominator) < input) {
        maxInNumeratorAndDenominator++
    }
    val sumOfInNumeratorAndDenominator = maxInNumeratorAndDenominator + 1
    val orderInGroup = input - sumOfAllNaturalNumbersLessThan(maxInNumeratorAndDenominator - 1)
    val elseNum = sumOfInNumeratorAndDenominator - orderInGroup
    println(if (isOdd(sumOfInNumeratorAndDenominator)) "$orderInGroup/$elseNum" else "$elseNum/$orderInGroup")
}

fun isOdd(num: Int): Boolean {
    return num % 2 != 0
}

fun sumOfAllNaturalNumbersLessThan(x: Int): Int {
    var sum = 0
    for(i in 1..x) {
        sum += i
    }
    return sum
}


baekjoonkotlin코틀린백준브론즈수학구현풀이 Share Tweet +1