전체 글 195

[모던 자바스크립트] 24장 클로저

클로저(closure) 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조함(출처: MDN) const x = 1; function outerFunc() { const x = 10; function innerFunc() { console.log(x); // 10 } innerFunc(); } outerFunc(); outerFunc 함수 내부에서 중첩 함수 innerFunc가 정의되고 호출되고 있다. 중첩 함수 innerFunc의 상위 스코프는 외부 함수 outerFunc의 스코프다. => 중첩 함수 innerFunc 내부에서 자신을 포함하고 있는 외부 함수 outerFunc의 x변수에 접근 가능 innerFunc 함수가 ou..

[프로그래머스] 배열 뒤집기 🔙

문제 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 해결 과정 두가지 방법으로 풀었다. 첫번째는 for문을 이용해서 두번째는 reverse 함수를 이용해서 풀었다. 👆🏻 for문을 이용한 해결 우선 답을 작성할 배열을 하나 만든다. for문을 이용하여 작성한다. 여기서 for문을 작성할 때 변형이 필요하다. 변형이 필요하다는게 무슨말이냐? 배열을 뒤집기 위한 변형이다. for(let i = num_list.length-1; i >= 0; i--) 변수 선언문(할당문)은 i = num_list.length -1을 했다. 왜 num_list.length -1을 했을까? 🤔 그 이유는..

[프로그래머스] 아이스 아메리카노 ☕

문제 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 해결 과정 1. 아이스아메리카노 가격의 변수를 만들었다. 2. 아이스 아메리카노가 몇잔이 나오는지 돈과 아이스 아메리카노 가격을 통해 만들었다. 3. 잔돈을 머쓱이가 가지고 있는 돈 에서 아이스아메리카노 잔 수 * 아이스 아메리카노 가격을 빼주었다. 아이스 아메리카노 잔 수에서 Math.floor 함수를 작성한 이유는 소수점을 없애기 위해서이다. 그리고 아이스아메리카노 배열을 만들어 아이스 아메리카노 잔..

[프로그래머스] 옷가게 할인 받기 👕👖

문제 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 해결 과정 전체 가격 변수를 만들었다. let totalPrice를 만들어 퍼센트 할인 공식을 넣어 할인된 가격이 출력되게 했다. 할인(%) 공신 만들기 가격 - (가격 * 할인 퍼센트) = 할인된 가격 function solution(price) { let totalPrice = 0; if(price >= 500000) { totalPrice = price - (price * 0.2); } else if(price >= 300000) { totalPrice = ..

[프로그래머스] 배열의 평균값

문제 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 해결 과정 1. 배열의 합을 구한다. 2. 배열의 길이로 나눈다. 새롭게 알게된 점📝 배열의 합을 어떻게 구해야하나 구글링을 하여 문제를 해결했다. 참고했던 사이트: https://sentry.io/answers/how-to-find-the-sum-of-an-array-of-numbers/ How to find the sum of an array of numbers The Problem You want to find the sum of an array of numbers. How do you do this with JavaScript? The Solution Th..

[프로그래머스] 피자 나눠 먹기(3) 🍕

문제 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 해결 과정 이건 피자나눠먹기(1)문제와 유사하다. 그래서 쉽게 해결할 수 있었다. 정답 function solution(slice, n) { var answer = 0; let pizzaCnt = n / slice; return Math.ceil(pizzaCnt); } 7m

[프로그래머스] 피자 나눠먹기(2) 🍕

문제 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 해결 과정 이 문제를 처음봤을때 생각보다 어렵게 생각했다. 그래서 시간이 많이 걸렸다. 문제는 이해갔지만 어떻게 풀지 막막해서 구글링을 해보고 다른 문제를 다 푼다음 다시 풀어봤다. 피자 변수를 만들었다. 피자 조각은 1조각 부터 시작함으로 let pizza = 1;로 작성했다. while문을 사용한 이유는 if문이 참일 경우 실행시키기 위해서 작성했다. if 문 안에 pizza * 6조각 그리고 사람 수로 나눠 떨어지면 피자가..

728x90