카테고리 없음
10/23일 오늘의 알고리즘(R)
wooseobsssss
2023. 10. 23. 19:23
- n 번째 원소부터
- 정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.
function solution(num_list, n) {
// num_list에서 n번째 원소부터 마지막 원소까지의 부분 배열을 추출
const result = num_list.slice(n - 1);
return result;
}
------------
- 정수 부분
- 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요.
function solution(flo) {
return Math.floor(flo);
}
--
-------------- N의배수
- n의 배수
- 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
function solution(num, n) {
if(num%n === 0 ){
return 1;
}else {
return 0;
}
}
-----------------
- 공배수
- 정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.
function solution(number, n, m) {
if(number%n===0 && number%m ===0 ){
return 1;
}else{
return 0;
}
}
-------
- 소문자로 바꾸기
- 알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
function solution(myString) {
let result = myString.toLowerCase();
return result;
}
---------------
- 문자열로 변환
- 정수 n이 주어질 때, n을 문자열로 변환하여 return하도록 solution 함수를 완성해주세요.
function solution(n) {
var answer = '';
return n.toString();
}
-
----------------------
- 홀짝에 따라 다른 값 반환하기
- 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요
function solution(n) {
if (n % 2 === 1) {
let 홀수합 = 0;
for (let i = 1; i <= n; i += 2) {
홀수합 += i;
}
return 홀수합;
} else {
let 짝수합 = 0;
for (let i = 2; i <= n; i += 2) {
짝수합 += i * i;
}
return 짝수합;
}
}
------------------------------
- 문자열 붙여서 출력하기
- 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function (line) {
const strArr = line.split(' ')
console.log(strArr.join(''))
})
------------------------------
- 문자열의 뒤의 n글자
- 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 뒤의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
function solution(my_string, n) {
return my_string.slice(my_string.length-n)
}
- 대문자로 바꾸기
- 알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
function solution(myString) {
let result = myString.toUpperCase();
return result;
}
----------------
- 뒤에서 5등 위로
- 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
function solution(num_list) {
// 배열을 복사한 후 정렬
const sortedList = [...num_list].sort((a, b) => a - b);
// 가장 작은 5개의 수를 슬라이싱
const smallest5 = sortedList.slice(0, 5);
// 가장 작은 5개의 수를 제외한 나머지 수를 슬라이싱
const result = sortedList.slice(5);
return result;
}
------------------------
- 이어 붙인 수
- 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
function solution(num_list) {
let oddSum = ''; // 홀수를 이어붙일 변수
let evenSum = ''; // 짝수를 이어붙일 변수
for (let num of num_list) {
if (num % 2 === 0) {
evenSum += num.toString(); // 짝수는 문자열로 변환하여 이어붙임
} else {
oddSum += num.toString(); // 홀수는 문자열로 변환하여 이어붙임
}
}
// 이어붙인 문자열을 정수로 변환한 후 합산
return parseInt(oddSum) + parseInt(evenSum);
}
- 문자열 정수의 합
-
- 한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요.
function solution(num_str) {
const numArr = num_str.split('').map(Number);
const sum = numArr.reduce((a, b) => a + b, 0);
return sum;
}
----------------
- 뒤에서 5등까지
- 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
function solution(num_list) {
// 숫자 배열을 오름차순으로 정렬
num_list.sort((a, b) => b - a);
// 가장 큰 5개의 숫자를 추출
const top5 = num_list.slice(-5);
// 추출된 숫자를 내림차순으로 정렬
top5.sort((a, b) => a- b);
return top5;
}
-----------------------------
- 접두사인지 확인하기
- 어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
function solution(my_string, is_prefix) {
if (my_string.startsWith(is_prefix)) {
return 1;
} else {
return 0;
}
}
-----------------
- n 번째 원소부터
- 정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.
function solution(num_list, n) {
// num_list에서 n번째 원소부터 마지막 원소까지의 부분 배열을 추출
const result = num_list.slice(n - 1);
return result;
}
---------------------
- 배열의 원소 삭제하기
- 정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요.
function solution(arr, delete_list) {
for (let i = 0; i < delete_list.length; i++) {
const item = delete_list[i];
arr = arr.filter(element => element !== item);
}
return arr;
}
---------------------------
- 주사위 게임 1
- 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다.
- a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다.
- a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다.
- a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다.
function solution(a, b) {
if (a % 2 === 1 && b % 2 === 1) {
// a와 b가 모두 홀수일 때
return a * a + b * b;
} else if (a % 2 === 1 || b % 2 === 1) {
// a와 b 중 하나만 홀수일 때
return 2 * (a + b);
} else {
// a와 b가 모두 홀수가 아닐 때
return Math.abs(a - b);
}
}