[level 1] 부족한 금액 계산하기

2022. 1. 25. 21:31·알고리즘/JavaScript

문제

 

풀이 코드

function solution(price, money, count) {
    let total = 0;
    for (let i = 1; i <= count; i++)
        total += price * i
    return total - money < 0 ? 0 : total - money
}

 

풀이 과정

간단하게 풀어냈다.

처음 가격 * 1 + 처음 가격 * 2 ... 처음 가격 * n 

 

으로 계산하면 된다고 생각하여 for 문을 돌려 구현했다.

최종적으로 구한 값 - 소지한 돈 이 음수면, 돈이 모자르지 않기 때문에 0을 반환, 그렇지 않으면 차이값을 반환했다.

 

다른사람의 풀이

function solution(price, money, count) {
    const tmp = price * count * (count + 1) / 2 - money;
    return tmp > 0 ? tmp : 0;
}

이분을 for 문을 돌리지 않았고, 가우스 공식을 이용하셨다.

가우스 공식이란

1 ~ n 까지의 합을 구할때, 

(n * (n + 1)) / 2 

를 하면 합을 알수있다는 공식이다.

 

따라서 

count * (count + 1) / 2  에다가, 처음의 가격 Price 를 곱해 

price * count * (count + 1) / 2 를 수행한다.

 

공식숙지의 중요성

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 2016년
  • [level 1] 최소직사각형
  • [level 1] 나머지가 1이 되는 수 찾기
  • [level 1] 가운데 글자 가져오기
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (185)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (73)
        • 자료구조 개념 (2)
        • Swift (24)
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    백준
    boj
    IOS
    스위프트
    본과정
    1서클
    라피신
    javascript
    42seoul
    개발자
    코딩
    자료구조
    42서울
    Algorithm
    swift
    네트워크
    hig
    프로그래머스
    SwiftUI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] 부족한 금액 계산하기
상단으로

티스토리툴바