[level 1] 없는 숫자 더하기

2022. 1. 4. 13:42·알고리즘/JavaScript

문제

 

풀이 코드

function solution(numbers) {
    var answer = -1;
    const MAX_NUM = 9;
    let sum = 0;
    
    for (let i = 0 ; i <= MAX_NUM; i++) {
        sum += i;
    }
    
    let numbers_sum = numbers.reduce((total, current) => total + current, 0);
    answer = sum - numbers_sum; 
    return answer;
}

 

풀이 과정

1. 문제에서 요구사항을 보고 reduce 함수를 사용 하면 될 것 같았다. reduce 함수로 들어온 배열의 모든값을 더하고, 

0 ~ 9 까지의 합에서 해당 값을 빼면 된다고 생각했다!

 

너무 간단한 문제지만
고차 함수인 reduce 를 모르면 코드가 훨씬 길어졌을 것이다.

 

개발할때는 항상 모든 상황에 대한 경우의 수를 생각해야 한다고 했다.
간단하게 0~9 까지의 더한 값을 바로 사용하면 코드가 더 간결해 지겠지만...

숫자의 범위가 9 까지가 아니고, 10 , 100, 4000.. 등등 범위값이 달라지면 해당 코드를 다시 작성해야 하는 것 이 아닌,
MAX_NUM 상수의 값만 변경하면 바로 적용되도록 코드를 작성 하였다!

 

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 행렬의 덧셈
  • [level 1] x만큼 간격이 있는 n개의 숫자
  • [level 1] 직사각형 별찍기
  • [level 1] 짝수와 홀수
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (186)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (74)
        • 자료구조 개념 (2)
        • Swift (25)
        • 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)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] 없는 숫자 더하기
상단으로

티스토리툴바