부트캠프 React 과정 5.28

김진우·2023년 5월 28일
0

오늘의 목표

  • 프로그래머스 or 백준 문제 풀어보기
  • 개인 프로젝트 뼈대 완성하기

어려웠던점
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 라는문제

우선 문제를 보고 나만에 방식으로 로직을 만들 순서를 정했다.

1.우선 비교를 위해 분모 분자 서로 곱 해서 같은 분모 를 만들어 준다.
분자도 같은 분모를 만들때 곱을해서 값을 만들어준다.
2.두 수를 더한 값 을 기약 분수(나눠떨어지는값)을 나타내는 로직
3.분자 와 분모를 순서대로 담은 배열 작성

function solution(numer1, denom1, numer2, denom2) {
    var answer = [];
    
    var denom = denom1 * denom2;
    var number = numer1*denom2+numer2*denom1;

    let minNum ;
    if(denom < number){
        minNum = denom;
    }else{
        minNum = number;
    }

    while(true){
        if(denom % minNum === 0){
            if(number % minNum === 0){
                return [number / minNum , denom / minNum];
            }
        }
        minNum = minNum - 1;  
    }
}

이문재를 풀면서 엄청 오랜 시간이 걸린거 같다. 우선혼자 힘으로 풀기 어려워서
여러군데 찾아보면서 기약분수를 위한최대공약수 찾는 방법 도 생각해 내지 못했었고
문제가 먼가 난해 하다는 생각을 들었다 . 처음에 if문으로 풀려고 생각을 했는데 if문을 쓰게되면 계속 최대공약수를찾기 위해 반복을해야 될꺼같다는 생각을 해서 while문으로 교체를 했었다.
다른 쉬운문제도 풀었지만 이문제를 풀면서 if문과 while문에 대해 한번더 생각을 가지는 시간이 된거같고 다음에 비슷한 문제가 나오면 맞춰야겠다는생각을 했습니다.

느낀점점

오늘 프로 그래머스문제도 풀고 또한 개인 프로젝트를 하면서 다시 html 영상도 같이 봣다.
오늘 컨디션이 그래 좋지 못해서 많이 는 못했지만 지금 처음에 프로젝트할때의 나보다
먼가 시도도 해볼려고하고 작은 일 부분이지만 만들어서 나온걸 보니
아 그래도 1주일간 조금이라도 실력이 늘어난거 같아서 뿌듯한 한편
더 많은 것도 해보고 싶다라는 생각도 많이 한 하루였습니다.

0개의 댓글