► JS Algorithm/Programmers
-
[Programmers] JavaScript 알고리즘 | Lv.0 약수 구하기► JS Algorithm/Programmers 2024. 1. 16. 21:03
🔒 문제 설명 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 🔒 제한사항 1 ≤ n ≤ 10,000 🔒 입출력 예 n result 24 [1, 2, 3, 4, 6, 8, 12, 24] 29 [1, 29] 🔒 입출력 예 설명 입출력 예 #1 24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다. 입출력 예 #2 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다. 🔐 solution of mine Array.push() for문 new Set() 중복을 제거하는 방법 Array.sort() const solution = (n, answer = []) => ..
-
[Programmers] JavaScript 알고리즘 | Lv.0 배열 회전시키기► JS Algorithm/Programmers 2024. 1. 16. 20:42
🔒 문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 🔒 제한사항 3 ≤ numbers의 길이 ≤ 20 direction은 "left" 와 "right" 둘 중 하나입니다. 🔒 입출력 예 numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4] 🔒 입출력 예 설명 입출력 예 #1 numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 ..
-
[Programmers] JavaScript 알고리즘 | Lv.0 배열 만들기 3► JS Algorithm/Programmers 2024. 1. 16. 20:36
🔒 문제 설명 정수 배열 arr와 2개의 구간이 담긴 배열 intervals가 주어집니다. intervals는 항상 [[a1, b1], [a2, b2]]의 꼴로 주어지며 각 구간은 닫힌 구간입니다. 닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미합니다. 이때 배열 arr의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열을 만들어 return 하는 solution 함수를 완성해 주세요. 🔒 제한사항 1 ≤ arr의 길이 ≤ 100,000 1 ≤ arr의 원소 { const [[a, b], [c, d]] = intervals; return console.log([...arr.slice(a, b + 1), ...arr.slice(c, d + 2)]);..
-
[Programmers] JavaScript 알고리즘 | Lv.0 문자열 잘라서 정렬하기► JS Algorithm/Programmers 2024. 1. 16. 20:23
🔒 문제 설명 문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요. 단, 빈 문자열은 반환할 배열에 넣지 않습니다. 🔒 제한사항 1 ≤ myString ≤ 100,000 myString은 알파벳 소문자로 이루어진 문자열입니다. 🔒 입출력 예 myString result "axbxcxdx" ["a","b","c","d"] "dxccxbbbxaaaa" ["aaaa","bbb","cc","d"] 🔒 입출력 예 설명 입출력 예 #1 myString을 "x"를 기준으로 자른 배열은 ["a","b","c","d"]이며, 이 배열은 이미 사전순으로 정렬된 상태입니다. 따라서 해당 배열을 retur..
-
[Programmers] JavaScript 알고리즘 | Lv.0 수 조작하기 2► JS Algorithm/Programmers 2024. 1. 16. 20:00
🔒 문제 설명 정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. 그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다. 주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요. 🔒 제한사항 2 ≤ numLog의 길이 ≤ 100,000 -100,000 ≤ num..
-
[Programmers] JavaScript 알고리즘 | Lv.0 주사위 게임 2► JS Algorithm/Programmers 2024. 1. 15. 20:51
🔒 문제 설명 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a² + b² + c² )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a² + b² + c² ) × (a³ + b³ + c³ )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 🔒 제한사항 a, b, c는 1이상 6이하의 정수입니다. 🔒 입출력 예 a b c result 2 6 1 9 5 3..
-
[Programmers] JavaScript 알고리즘 | Lv.0 문자열 섞기► JS Algorithm/Programmers 2024. 1. 15. 20:43
🔒 문제 설명 길이가 같은 두 문자열 str1과 str2가 주어집니다. 두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요. 🔒 제한사항 1 ≤ str1의 길이 = str2의 길이 ≤ 10 str1과 str2는 알파벳 소문자로 이루어진 문자열입니다. 🔒 입출력 예 str1 str2 result "aaaaa" "bbbbb" "ababababab" 🔐 solution of mine for문 const solution = (str1, str2, answer = "") => { for (let i = 0; i < str1.length; i++) { for (let j = 0; j < str2.length; j++) { if..
-
[Programmers] JavaScript 알고리즘 | Lv.0 간단한 식 계산하기► JS Algorithm/Programmers 2024. 1. 15. 20:13
🔒 문제 설명 문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요. 🔒 제한사항 0 ≤ a, b ≤ 40,000 0을 제외하고 a, b는 0으로 시작하지 않습니다. 🔒 입출력 예 binomial result "43 + 12" 55 "0 - 7777" -7777 "40000 * 40000" 1600000000 🔒 입출력 예 설명 입출력 예 #1 예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다. 입출력 예 #2 예제 2번의 binomi..