ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 항해 99 5기 TIL_40
    항해 99 2022. 2. 19. 03:18

    ▶ Today I Learned

     

    <알고리즘>

     

    [동전]

     

    소요시간: 30분

    해결 여부: 해결

     

    https://www.acmicpc.net/problem/11047

     

    /*
    동전
    
    준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.
    
    동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.
    */
    
    let n = 10
    let k = 4200
    let a = [1,5,10,50,100,500,1000,5000,10000,50000]
    let count = 0
    
    // 동전의 단위
    
    // 예제 결과 6
    
    let i = a.length - 1
    // 큰 단위부터 거꾸로 연산
    
    do {
    
    if (1<= k/a[i]) {
    // 금액을 특정 동전 단위로 나눈게 1이상이면 그 동전 단위로 지불가능하다는 소리
    count = count + Math.floor(k/a[i])
    
    k = k - a[i]*count
    i--
    // 최대 금액의 동전을 뺀 갯수만큼 count에 추가
    // k에는 기존 k의 금액에서 특정 단위의 동전 * 빼낸 동전 갯수의 결과값을 대입
    
    } else {
      i--
    }
    
    } while (k > 0) // 금액이 0이 되는 순간 끝
    
    console.log(count)

     

    다만 다 풀었음에도 불구하고 제출은 제대로 하지 못했다.

    이번에 처음으로 백준의 문제를 풀어본 것인데 백준에는 제출할 때 값의 입력과 출력을 사용자가 직접 구현해야 했기 때문이다.

    분명 맞는 로직이라고 생각하는데 자꾸 틀리다거나 런타임 에러가 발생한다. 팀원 분들의 코드와 비교하였을 때 기본 로직은 똑같고 입력값 부분을 제외하고 반복문을 한번 사용한 것도 똑같다.

    어떤 문제인지 내일 다시 확인해보아야겠다.

     

    ▶ 느낀 점

     

    새로운 프로젝트가 시작되면서 팀원들과 부랴부랴 와이어 프레임, API 설계 및 DB 스키마를 구상했다.

    하루의 대부분을 들여 덕분에 큰 문제 없이 완수했다. 다만, 이번에는 그동안 써보지 못했던 Mysql을 써보기로 했다.

    이제껏 해왔던 DB인 몽고 db는 NoSQL이었기에 앞으로를 위해 SQL의 연습도 필요했다.

    그리하여 무료이기도 하고 현업에서도 많이 쓰이는 MySQL을 사용해보기로 했다.

    Node.js의 경우에는 쿼리문으로 대신 번역해주는 Sequalize라는 라이브러리가 있기 때문에 이를 활용해 볼 것이다.

    내일 본격적으로 익혀서 마스터하고 DB부분을 구상해보는 것을 목표로 할 것이다.

     

    그럼 다들 굿밤 ;)

     

     

     

    ▶ 공부 시 참고 링크들

     

    https://sanghaklee.tistory.com/57

     

    RESTful API 설계 가이드

    1. RESTful API 설계 가이드 본 문서는 REST API를 좀 더 RESTful 하게 설계하도록 가이드할 목적으로 만들어졌다. 따라서, 기본적인 REST API 개념 설명은 아래의 링크로 대신한다. REST API 제대로 알고 사용

    sanghaklee.tistory.com

     

    '항해 99' 카테고리의 다른 글

    항해 99 5기 TIL_42  (0) 2022.02.20
    항해 99 5기 TIL_41  (0) 2022.02.20
    항해 99 5기 TIL_39  (0) 2022.02.18
    항해 99 5기 TIL_38  (0) 2022.02.17
    항해 99 5기 TIL_37  (0) 2022.02.16
Designed by Tistory.