본문 바로가기

아래로 스크롤 해주세요!

My Reference Book

-

제가 배웠던것을 한곳에 정리해보았어요!

HTML

HTML 태그 톺아보기

HTML

자세히보기

CSS

CSS 속성 톺아보기

CSS

자세히보기

JAVASCRIPT

JS 실행문 톺아보기

JAVASCRIPT

자세히보기

최신댓글

프로그래머스

프로그래머스 1단계 : 최대공약수와 최소공배수

by C0Di 2022. 11. 27.
728x90

프로그래머스 1단계

내 통장의 0이 최대치가 되는 그 날까지
최대공약수와 최소공배수를 구해보도록 해보자 💸💚


최대공약수와 최소공배수!

for와 if를 통해 최대공약수와 공배수를 구하는 방법입니다.

1. for을 통해 i는 0부터 시작해 n의 이하가 될때까지 i를 1씩 증가시켜
2. 만약 n 또는 m 을 i와 나누었을때 0이라면 i의 값을 a에 대입하는 최대 공약수를 구하는 방법을 반복시킵니다
3. 그런후 n을 m과 곱해 a로 나눈 값을 b에다가 넣어 공배수를 구해
4. 공약수/공배수를 출력시킵니다. 1. if문에 최대공약수를 만드는 조건을 넣고
2. for을 통해 i를 1씩 증가시켜 최대 공배수를 구하는 방식을 사용

function solution(n, m) {
    let a;
    for(let i = 0; i <= n; i++) {
      if(n % i === 0 && m % i === 0) {
        a = i;
      }
    }
    let b = n * m / a;
    return [a, b];
  }

최대공약수와 최소공배수 : 다른 사람 풀이

if를 화살표 함수로 표햔해 각각 최대 공약수/공배수를 구하는 방법입니다.

1. 큰 수(A)를 작은 수(B)로 나눈다. ( A > B )
2. 나누는 수(B)를 나머지(R)로 계속 나눈다.
3. 나머지가 0이 나오면 나누는 수가 최대 공약수

function solution(n, m) {
    const gcd =(a, b) => a % b === 0 ? b : gcd(b, a % b);
    const lcm = (a, b) => a * b / gcd(a, b);
    return [gcd(n, m), lcm(n, m)]
}

console.log(solution(3,12))
728x90
반응형

댓글

#HASH_TAGS

-

1

화사한가요? 내일은 즐거운 월요일 슬라이드 결과 : 월요일 숙제가 다양해서 너무 좋아요 scroll-snap-align Method 오징어 두마리 포획 완료 오징어 1Kg 당 3000원 코딩 JQuery 선택해주세요 공부 코드 HTML 오늘 조업 마감했습니다. scroll-snap-type 오징어 한마리 수확 완료! 이건 또 뭐람 메서드 다크모드 오늘도 웹표준은.. 울적하니 꽃을 달아봤습니다 제이쿼리 오늘은 내가바로 오징어! 필터선택자 ImageSlideEffect 멈추지 않는 ' j ' 시리-즈