import java.util.Scanner
fun main() {
val sc = Scanner(System.`in`)
val ab = sc.nextLong()
val ac = sc.nextLong()
// 종이를 접으면 AB와 AC 길이 비율이 그대로 BM과 MC의 비율이 됨을 이용
val f = find(ab, ac)
val bm = ab / f
val mc = ac / f
println("$bm:$mc")
}
// 최대공약수 찾기
fun find(a: Long, b: Long): Long = if (b == 0L) a else gcd(b, a % b)
이 문제도 사실상 수학 문제다... 오랜만에 알고리즘 문제를 다시 풀고 있는데, 이렇게 주먹구구식으로 푸는 게 의미가 있을까 싶다. 유형 별로 그리고 각 유형에 대해 난이도 별로 훈련하도록 가이드라인을 짜야겠다는 생각이 든다.
'문제 풀이 ✏️ > 기타' 카테고리의 다른 글
| [구름] 175194 (구름 스퀘어) (0) | 2026.07.05 |
|---|---|
| [구름] 355187 (최고의 검) (0) | 2026.07.04 |
| [백준] 11724 (연결 요소의 개수) (0) | 2025.03.18 |
| [백준] 15829 (Hashing) (0) | 2024.11.17 |
| [백준] 11047 (동전 0) (1) | 2024.11.11 |