clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Swift
  • ㅅ
  • uikit
  • Q

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

코딩테스트/프로그래머스

프로그래머스 - 최대공약수와 최소공배수[Swift]

2023. 2. 2. 09:34

최대공약수와 최소공배수

문제 설명

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.

제한 사항
  • 두 수는 1이상 1000000이하의 자연수입니다.
입출력 예nmreturn
3 12 [3, 12]
2 5 [1, 10]
입출력 예 설명

입출력 예 #1
위의 설명과 같습니다.

입출력 예 #2
자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다.


풀이 및 소스코드

func gcd(_ num1: Int, _ num2: Int) -> Int {
    var a = num1 > num2 ? num1 : num2
    var b = num1 > num2 ? num2 : num1
    var r = 0
    while b != 0{
        r = a % b
        a = b
        b = r
    }
    return a
}

func solution(_ n:Int, _ m:Int) -> [Int] {
    // 두 수의 곱 / 최대공약수 = 최소공배수
    return [gcd(n, m), n*m / gcd(n, m)]
}
저작자표시 비영리 동일조건 (새창열림)
    '코딩테스트/프로그래머스' 카테고리의 다른 글
    • 프로그래머스 - 문자열 내 마음대로 정렬하기[Swift]
    • 프로그래머스 - 이상한 문자 만들기[Swift]
    • 프로그래머스 - 콜라츠 추측[Swift]
    • 프로그래머스 - 하샤드수[Swift]
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바