-
[JavaScript] 간단한 식 계산하기
문제문자열 binomial이 매개변수로 주어진다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나이다. 주어진 식을 계산한 정수를 반환하는 함수를 작성해라. 예시binomialresult"43 + 12"55 나의 풀이const solution = (b) => eval(`${b.split(" ")[0]} ${b.split(" ")[1]} ${b.split(" ")[2]}`); 다른 풀이const ops = { '+': (a, b) => a + b, '-': (a, b) => a - b, '*': (a, b) => a * b,};function solution(binomial) { const [a, op, b] = bino..
🧬알고리즘/Programmers
2024. 6. 13.
-
[JavaScript] 1로 만들기
문제정수가 있을 때, 짝수라면 반으로 나누고, 홀수라면 1을 뺀 뒤 반으로 나누면, 마지막엔 1이 된다. 예를 들어 10이 있다면 다음과 같이 연산된다. • 10 / 2 = 5 • (5 - 1) / 2 = 2 • 2 / 2 = 1 총 3번의 나누기 연산으로 1이 됐다. 정수들이 담긴 리스트 num_list가 매개변수로 주어질 때, num_list의 모든 원소들을 1로 만들기 위해서 필요한 나누기 연산의 횟수를 반환하는 함수를 작성해라. 예시num_listcount총 나누기 연산 횟수[2, 4, 7]33[1, 2, 3]25[1, 1, 1]05 나의 풀이function solution(num_list) { // 총 나누기 연산 횟수를 저장할 변수 let cnt = 0; // num_list의..
🧬알고리즘/Programmers
2024. 6. 12.
-
[JavaScript] 조건에 맞게 수열 변환하기 2
문제정수 배열 arr가 매개변수로 주어진다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 값이 50보다 작고 홀수라면 2를 곱한 후 1을 더한다. 이러한 작업을 x번 반복한 결과인 배열을 arr(x) 라고 표현했을 때, arr(x) = arr(x + 1)인 x가 항상 존재한다. 이러한 x중 가장 작은 값을 반환하는 함수를 작성해라. 단, 두 배열에 대한 "="는 배열의 크기가 서로 같으며, 같은 인덱스의 원소가 각각 같음을 의미한다. 예시반복 횟수arr0[1, 2, 3, 100, 99, 98]1[3, 2, 7, 50, 99, 49]2[7, 2, 15, 25, 99, 99]3[15, 2, 31, 51, 99, 99]4[31, 2, 63, 51, 99, 99]5[63, 2, ..
🧬알고리즘/Programmers
2024. 6. 12.
-
[JavaScript] 수열과 구간 쿼리 1
문제정수 배열 arr과 2차원 정수 배열 queries가 매개변수로 주어진다. queries의 원소는 각각 하나의 query를 나타내며 [s, e] 형식이다. 각 query마다 순서대로 s 위 규칙에 따라 queries를 처리한 후 arr를 반환하는 함수를 작성해라. 예시arrqueries[i]result[0, 1, 2, 3, 4][0, 1][1, 2, 2, 3, 4][1, 2, 2, 3, 4][1, 2][1, 3, 3, 3, 4][1, 3, 3, 4, 5][2, 3][1, 3, 4, 4, 4] 풀이function solution(arr, queries) { queries.map(([s, e]) => { arr.map((v, i) => { if(s
🧬알고리즘/Programmers
2024. 6. 11.
-
[JavaScript] 왼쪽 오른쪽
문제문자 "u", "d", "l", "r"로 이루어진 문자열 리스트 str_list가 매개변수로 주어진다. 문자 "l"과 "r" 중 먼저 나오는 문자에 따라 다음과 같은 조건을 적용한 리스트를 반환한다. • 문자 "l"이 먼저 나오는 경우 해당 문자열 기준으로 왼쪽에 있는 문자열 리스트를 반환한다. • 문자 "r"이 먼저 나오는 경우 해당 문자열 기준으로 오른쪽에 있는 문자열 리스트를 반환한다. • "l"과 "r" 둘 다 없다면 빈 리스트를 반환한다. 다음 조건을 적용한 문자열 리스트를 반환하는 함수를 작성해라. 예시str_listresult["u", "u", "l", "r"]["u", "u"]["l", "u"][]["r", "u"]["u"]["u", "d", "u", "u"][] 나의 풀이fu..
🧬알고리즘/Programmers
2024. 6. 11.
-
[JavaScript] 순서 바꾸기
문제정수 리스트 num_list와 정수 n이 매개변수로 주어진다. num_list를 n번째 이후의 원소들과 n번째 까지의 원소들로 나눠 n번째 이후의 원소들을 n 번째 까지의 원소들 앞에 붙인 리스트를 반환하는 함수를 작성해라. 예시num_listnresult[2, 1, 6]1[1, 6, 2][5, 2, 1, 7, 5]3[7, 5, 5, 2, 1] 풀이function solution(num_list, n) { return num_list.slice(n).concat(num_list.slice(0, n));}
🧬알고리즘/Programmers
2024. 6. 11.
-
[JavaScript] 배열 조각하기
문제정수 배열 arr과 query가 매개변수로 주어진다. query를 순회하면서 다음 작업을 반복한다. • 짝수 인덱스 arr에서 query[i] 번 인덱스를 제외하고 배열의 query[i] 번 인덱스 뒷 부분을 잘라내 버린다. • 홀수 인덱스 arr에서 query[i] 번 인덱스를 제외하고 배열의 query[i] 번 인덱스 부분을 잘라내 버린다. 위 작업을 마친 후 남은 arr를 반환하는 함수를 작성해라. 예시query[i]처리 전 arr처리 후 arr비고4[0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4]index는 0, query[i]는 4 이므로 arr[4] 뒷 부분을 자른다.1[0, 1, 2, 3, 4][1, 2, 3, 4]index는 1, query[i]는 1 이므로 arr[1..
🧬알고리즘/Programmers
2024. 6. 10.
-
[JavaScript] 배열 조각하기
문제정수 배열 arr과 query가 매개변수로 주어진다. query를 순회하면서 다음 작업을 반복한다. • 짝수 인덱스 arr에서 query[i] 번 인덱스를 제외하고 배열의 query[i] 번 인덱스 뒷 부분을 잘라내 버린다. • 홀수 인덱스 arr에서 query[i] 번 인덱스를 제외하고 배열의 query[i] 번 인덱스 부분을 잘라내 버린다. 위 작업을 마친 후 남은 arr를 반환하는 함수를 작성해라. 예시query[i]처리 전 arr처리 후 arr비고4[0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4]index는 0, query[i]는 4 이므로 arr[4] 뒷 부분을 자른다.1[0, 1, 2, 3, 4][1, 2, 3, 4]index는 1, query[i]는 1 이므로 arr[1..
🧬알고리즘/Programmers
2024. 6. 10.