JavaScript(25)
-
[프로그래머스-Level 1] [JavaScript] 명예의 전당(1) - 배열, 정렬, splice 활용
[문제] 명예의 전당이라는 TV 프로그램이 있습니다. 매일 1명의 가수가 노래를 부르고 시청자들이 문자투표로 점수를 부여합니다. 상위 k번째 이내인 경우, 그 점수를 명예의 전당 목록에 올립니다. 프로그램 시작 이후 k일까지는 모든 점수가 목록에 오르지만 k개수를 초과하는 경우 최대 k번째까지 높은 점수만 남기고 다른 점수들은 목록에서 제외됩니다. 총 발표 점수를 배열 형태로 반환하는 것이 문제입니다. 아래 표를 참고하시면 됩니다. 일차 1 2 3 4 5 6 7 score 10 100 20 150 1 100 200 명예의 전당 (k = 3) 10 100 10 100 20 10 150 100 20 150 100 20 150 100 100 200 150 100 발표 점수 10 10 10 20 20 100 1..
2022.11.30 -
[프로그래머스-Level 1] [JavaScript] 부족한 금액 계산하기
[문제] 한 놀이기구의 원래 이용료가 price원으로 가정할 때, 같은 놀이기구를 N번째 이용한다면 원래 price의 N배를 받습니다. 한 놀이기구를 주어진 입력 값 count번 탔다고 가정할 경우, 현재 얼마가 부족한지 계산하세요. (예시: price가 3, money가 20, count가 4일 때, 총 이용 금액은 3 (첫 번째 탑승) + 6 (두 번째 탑승) + 9 (세 번째 탑승) + 12 (네 번째 탑승) = 30이 되는데 현재 주어진 money가 20이므로 30 - 20 = 10이 됩니다.) [알고리즘] 반복문과 조건문을 사용하면 됩니다. [풀이] 카운트만큼 price * i 곱해주고 money에서 차감합니다. money가 0보다 크다면 부족하지 않기 때문에 0을 반환하며 money가 음수 즉..
2022.11.29 -
[프로그래머스-Level 1] [JavaScript] 과일 장수 - 배열, 최솟값 이용
[문제] 사과 상자를 포장한다고 가정합니다. 사과는 상태에 따라 1점-k점까지의 점수로 분류되며 최상품의 사과가 k점수이고 1점이 최하품의 사과입니다. 한 상자에 사과를 m개씩 담아서 포장하며 상자에 담긴 사과 중에 가장 낮은 점수가 1이상 k이하라면 한 상자의 가격은 p 곱하기 m입니다. 상자 단위로만 포장해서 판매되며 남는 사과 즉 나머지는 버립니다. k가 3, m이 4라고 가정했을 때 [1,2,3,1,2,3,1] 이렇게 7개의 사과 점수가 주어지는 경우 [2,3,2,3] 이렇게 사과 상자를 1개를 만들어 판매할 수 있습니다. 즉 최종 결과는 (최저 사과 점수 * 한 상자에 있는 사과 개수 * 상자 개수) = 8이 됩니다. (2 * 4 * 1) = 8 [알고리즘] 정렬, 배열, Math.min 사용하..
2022.11.28 -
[프로그래머스-Level 1] [JavaScript] 햄버거 만들기 - 스택(Stack) 활용
[문제] 햄버거를 빵-야채-고기-빵 순서로 포장을 합니다. 숫자 1-2-3-1로 표현했을 때, 이 조합 순서대로 햄버거를 포장한다고 가정하여 재료들이 주어졌을 때 총 몇 개의 햄버거를 포장할 수 있는지 계산하는 문제입니다. 예를 들어 [2, 1, 1, 2, 3, 1, 2, 3, 1]의 배열이 입력으로 주어졌을 때 포장되는 햄버거는 총 2개입니다. [알고리즘] 스택을 활용할 수 있습니다. (스택이 아닌 다른 방법으로도 당연히 해결 가능합니다) [풀이] 아래 주석에 설명을 해놓은 것을 참고하시면 되며 먼저 burgerStack이란 배열을 하나 선언해주고, 그 스택 배열에 ingredient 배열의 요소를 push로 넣어줍니다. 그 다음 Stack의 길이가 4 이상인 경우, 맨 뒤의 Stack의 요소들이 각각..
2022.11.27 -
[프로그래머스-Level 1] [JavaScript] 푸드 파이트 대회 - sort(정렬) 활용
[문제] food 배열이 주어집니다. 예를 들어 [1, 3, 4, 6] 라고 food 배열이 input으로 주어질 때, 첫 번째 인덱스 0은 마시는 물을 말하며 항상 값이 1이고 그 다음 인덱스 1은 3이 주어졌는데 첫 번째 인덱스의 음식 개수입니다. 2번째 인덱스는 4개, 3번째 인덱스는 6개가 되며, 왼쪽 선수와 오른쪽 선수가 서로 대결을 펼친다고 가정해서 물이 한 가운데 있는, 즉 물을 기준으로, 서로 대칭 형태로 음식을 배열하고자 합니다. 즉 이 예시에서는 "1223330333221"이 결과로 return 되어야 하는 것입니다. [알고리즘] 여러 알고리즘이 사용될 수 있으며 필자는 먼저 배열에 반복문을 활용하여 음식을 나열한 뒤에 0을 붙이고 이미 만든 배열을 역정렬(sort 함수 활용)하여 뒤에..
2022.11.24 -
[007] 자바스크립트 (JavaScript) - 핵심요약(함수 - Function)
안녕하세요~ totally 개발자입니다. function (함수) 오늘 다룰 부분은 function(함수)입니다. 이 함수는 프로그래밍에서 대단히 중요한 개념으로 어떤 특정한 작업을 수행하는 코드 블록이며 주로 같은 작업을 반복하는 경우에 많이 사용됩니다. 이 함수의 특징에서는 인자(argument 혹은 parameter)라고 하는 요소들을 받을 수 있으며 return을 사용하여 함수의 결과를 내보낼 수 있습니다. 바로 예제로 들어가보도록 하겠습니다. function addTwoNumbers(a, b) { return a + b; } 먼저 위에 있는 첫 번째 예시를 보시면 function 뒤에 addTwoNumbers라는 맞춤 함수 이름을 지정할 수 있고 a, b라는 매개변수(인자) 2개를 받는 것을 확..
2022.11.15