제주코딩베이스캠프 유튜브 - JavaScript 알고리즘 100일 챌린지
배열 두배 만들기
정수 배열 numbers의 각 원소에 두배를 곱한 배열을 구하기
function solution(numbers) {
return numbers.map(v => v * 2);
}사이트 추천: 쉽고 편하게 Mock 데이터 생성
문자열 뒤집기
문자열 my_string을 거꾸로 뒤집은 문자열 구하기
function solution(my_string) {
//return my_string.split('').reverse().join('');
return Array.from(my_string).reverse().join('');
}특정 문자 제거하기
my_string에서 letter를 제거한 문자열 구하기
function solution(my_string, letter) {
// return my_string.replaceAll(letter, '');
let reg = new RegExp(letter, 'g') // 'g': 전역에서 검사
return my_string.replace(reg, '')
}정규 표현식을 쓰면 좋은점 ex. 문자열에서 1, 2, 3을 지우고 싶을때
'BCBdbe123094dr12of1j423'.replace(/[123]/g, '')
//'BCBdbe094drofj4'- /[1-9]/g : 1~9
- /[a-z]/g : a~z
- /[A-Z]/g : A~Z
배열의 유사도
문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수 구하기
- 1 ≤ s1, s2의 길이 ≤ 100
- 1 ≤ s1, s2의 원소의 길이 ≤ 10
- s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
- s1과 s2는 각각 중복된 원소를 갖지 않습니다.
- filter로 구히가
function solution(s1, s2) {
return s1.filter(v => s2.includes(v)).length; }- 교집합으로 구하기
function solution(s1, s2) {
return s1.length + s2.length - new Set([...s1, ...s2]).size
} 가위 바위 보
function solution(rsp) {
let answer = {'0':'5', '2':'0', '5':'2'};
return [...rsp].map(v=>answer[v]).join('');
}배열 회전시키기
function solution(numbers, direction) {
if(direction === 'right'){
// numbers.unshift(numbers.pop());
numbers = [numbers.pop(), ...numbers];
} else {
// numbers.push(numbers.shift());
numbers = [...numbers.slice(1), numbers.shift()];
}
return numbers
}외계행성의 나이
나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 구하기
- a는 0, b는 1, c는 2, …, j는 9
function solution(age) {
let chr = 'abcdefghij'
return Array.from(age.toString()).map(v => chr[v]).join('')
}369게임
머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수 구하기
3, 6, 9 개수 구하기
function solution(order) {
// .length 시 왼쪽 피연산자가 null 또는 undefined일 때 런타임 에러 발생
let value = order.toString().match(/[369]/g) ?? [];
return value.length;
}function solution(order) {
const s = new Set('369')
return order.toString().split('').filter(v => s.has(v)).length;
}중복된 문자 제거
my_string에서 중복된 문자를 제거하기
function solution(my_string) {
return [...new Set(my_string)].join('');
}A로 B만들기
문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return
function solution(before, after) {
return before.split('').sort().join('') === after.split('').sort().join('') ? 1 : 0 ;
}