[프로그래머스] 피자 나눠먹기(2)(Swift)

이창형·2023년 1월 2일
0

코드

import Foundation

// 최대공약수를 구하는 함수
func gcd(_ a: Int, _ b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return gcd(b, a % b)
    }
}

// 최소공배수를 구하는 함수
func lcm(_ a: Int, _ b: Int) -> Int {
    return a * b / gcd(a, b)
}

func solution(_ n:Int) -> Int {
	// 최소공배수를 구하고 6으로 나눠야 피자 판 수가 나온다.
	// 피자는 한 판에 6조각이니까
    return lcm(n, 6) / 6
}

설명

  • 최소공배수 구하는 것을 구현할 수 있는지 물어보는 문제입니다.
  • 최소공배수를 구하려면 두 수를 곱하여 두 수의 최대공약수를 나눠야합니다.

회고

  • 최대공약수를 구하는 함수를 만드는 것이 어려웠다.
profile
iOS Developer

0개의 댓글