Programmers_JAVA_최대공약수와 최소공배수(유클리드 호제법)

2022. 11. 30. 16:00· 코딩테스트/Programmers_LV1
반응형

문제 설명

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

제한 사항
  • 두 수는 1이상 1000000이하의 자연수입니다.

 

최대공약수는 유클리드 호제법 알고리즘을 사용해야 한다. 

https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95

 

유클리드 호제법 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란

ko.wikipedia.org

 최소공배수는 두 수의 곱을 최대공약수로 나눈 값이다.

class Solution {
    public int[] solution(int n, int m) {
        return new int[]{gcd(n, m), (n * m) / gcd(n, m)};
    }
    
    public static int gcd(int p, int q) {
        if (q == 0) return p;
        return gcd(q, p%q);
    }
}

 

반응형

'코딩테스트 > Programmers_LV1' 카테고리의 다른 글

Programmers_JAVA_이상한 문자 만들기  (0) 2022.11.30
Programmers_JAVA_같은 숫자는 싫어------리팩토링 필요------  (0) 2022.11.30
Programmers_JAVA_직사각형 별찍기  (0) 2022.11.30
Programmers_JAVA_행렬의 덧셈  (0) 2022.11.30
Programmers_JAVA_부족한 금액 계산하기  (0) 2022.11.30
'코딩테스트/Programmers_LV1' 카테고리의 다른 글
  • Programmers_JAVA_이상한 문자 만들기
  • Programmers_JAVA_같은 숫자는 싫어------리팩토링 필요------
  • Programmers_JAVA_직사각형 별찍기
  • Programmers_JAVA_행렬의 덧셈
wn1331
wn1331
반응형
wn1331
JONGHUN
wn1331
전체
오늘
어제
  • 분류 전체보기 (268)
    • Spring (16)
      • Spring Data JPA (0)
      • Spring Security (11)
      • Spring Batch (5)
    • DEV (40)
      • FrontEnd (2)
      • JAVA (5)
      • Git (1)
      • 기타 (6)
      • Network (1)
      • MSA (12)
      • 개발일기 || 트러블슈팅 (5)
      • 행사 || 후기 (3)
      • GraphQL (3)
      • Kotlin (0)
      • Database (2)
    • 코딩테스트 (164)
      • Programmers_LV0 (100)
      • Programmers_LV1 (54)
      • 백준 (8)
      • Algorithm (1)
    • 교육 | 외부활동 (44)
      • 이론_JAVA (13)
      • ORACLE (12)
      • PUBLISHING (6)
      • JAVASCRIPT (5)
      • JQuery (0)
      • 항해99 플러스 백엔드 (8)
    • 기본지식 (0)
    • 끄적끄적 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 학부생(용인대학교 컴퓨터과학과 1~4학년) 네이버 블로그는⋯

인기 글

태그

  • 항플 백엔드
  • SESSION
  • java
  • transaction
  • Step
  • Spring Batch
  • 스프링 시큐리티
  • Spring
  • 압축
  • MSA
  • JPA
  • 스프링
  • 항해플러스
  • 항해99
  • MySQL
  • 세션
  • Spring Boot
  • 항플
  • 스프링 부트
  • spring security

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
wn1331
Programmers_JAVA_최대공약수와 최소공배수(유클리드 호제법)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.