문제 링크: https://www.acmicpc.net/problem/1193
1193번: 분수찾기
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
www.acmicpc.net
// 숫자 1이 분모일 때는 1개
// 숫자 2가 분모일 때는 2개
// 숫자 3이 분모일 때는 3개
// 분모가 짝수일 때 왼쪽 하단으로 이동
// 분모가 홀수일 때 오른쪽 상단으로 이동
// 반복문을 통해, 입력받은 숫자가 영역에 포함 될 경우를 구하기
// ex) x가 분모가 3인 영역에 포함될 경우
// x는 4 ~ 6사이에 있음
// 분모의 짝수, 홀수 판별
package twentyFirst_thirtyth.thirtyth
import java.io.*
fun main(){
val br = BufferedReader(InputStreamReader(System.`in`))
val x = br.readLine().toInt()
var sum = 0
var num = 1 // 분모
while(true){
val prevSum = sum
sum += num
//ex) 분모가 3일 때
// 4 ~ 6 사이에 있으면
if (x in prevSum+1.. sum){
val v = x - prevSum
// 짝수 홀수 판별
if (num % 2== 0){
println("${v}/${num - v + 1}")
}
else{
println("${num - v + 1}/$v")
}
break
}
num++
}
}
'알고리즘 > 매일마다 풀기(백준)' 카테고리의 다른 글
[2023-05-02] 9095 1, 2, 3 더하기(Kotlin) + 14문제 (0) | 2023.05.02 |
---|---|
[2023-05-01] 12865 평범한 배낭 (Kotlin) + 1문제 (0) | 2023.05.01 |
[2023-04-29] 1003 피보나치 함수(Kotlin) + 8문제 (0) | 2023.04.29 |
[2023-04-28] 가장 긴 바이토닉 부분 수열(Kotlin) + 13 문제 (0) | 2023.04.28 |
[2023-04-27] 11053 가장 긴 증가하는 부분(Kotlin) (0) | 2023.04.27 |
댓글