MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ - 1934๋ฒˆ: ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/BAEKJOON

[swift] ๋ฐฑ์ค€ - 1934๋ฒˆ: ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

MUKER 2023. 6. 12. 16:23
 

1934๋ฒˆ: ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

๋‘ ์ž์—ฐ์ˆ˜ A์™€ B์— ๋Œ€ํ•ด์„œ, A์˜ ๋ฐฐ์ˆ˜์ด๋ฉด์„œ B์˜ ๋ฐฐ์ˆ˜์ธ ์ž์—ฐ์ˆ˜๋ฅผ A์™€ B์˜ ๊ณต๋ฐฐ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฐ ๊ณต๋ฐฐ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 6๊ณผ 15์˜ ๊ณต๋ฐฐ์ˆ˜๋Š” 30, 60, 90๋“ฑ์ด ์žˆ

www.acmicpc.net


์„ฑ๊ณต ํ’€์ด

// ์•ฝ 200ms์˜ ์‹œ๊ฐ„ํ’€์ด

for _ in 0..<Int(readLine()!)! {
    let AB = readLine()!.split(separator: " ").map { Int($0)! }
    let big = max(AB[0], AB[1]), small = min(AB[0], AB[1])
    for i in 1... {
        if big*i % small == 0 {
            print(big*i)
            break
        }
    }
}
// ์•ฝ 8~12ms ์‹œ๊ฐ„ํ’€์ด

func gcd(_ a: Int, _ b: Int) -> Int {
    return b == 0 ? a : gcd(b, a%b)
}

for _ in 0..<Int(readLine()!)! {
    let f = readLine()!.split(separator: " ").map { Int($0)! }
    let A = f[0], B = f[1]
    print(A*B/gcd(A, B))
}