반응형
문제) 소문자로 이뤄진 단어에서 중복 단어를 제거하여 문자 순으로 출력
예시) 'hahojajo' -> 'haoj'
function findDuplicates(str) {
let answer;
// code here;
return answer;
}
해답) indexOf 이용
: indexOf(string) 매소드는 string이 포함된 첫번째 인덱스를 리턴.
function findDuplicates(str) {
let answer = '';
for(let i = 0; i < str.length; i++) {
if(str.indexOf(str[i]) === i) {
answer += str[i]
}
};
return answer;
}
다른 해답) includes 이용
function findDuplicates(str) {
let answer = '';
let arr = [];
for(let el of str) {
if(!arr.includes(el)) {
answer += el;
arr.push(el)
}
};
return answer;
}
문제) 중복된 단어가 포함된 배열이 주어질 때, 중복된 단어를 제외한 배열을 리턴
function removeDuplicate(arr) {
let answer;
// code here;
return answer;
}
해답) indexOf 이용
function removeDuplicate(arr) {
let answer;
answer = arr.filter((el, i) => arr.indexOf(el) === i ? true : false);
return answer;
}
해답2) includes 이용
function removeDuplicate(arr) {
let answer = [];
arr.forEach((el, i) => {
!answer.includes(el) ? answer.push(el) : null
});
return answer;
}
문제) 숫자 배열이 주어질 때, 바로 직전의 숫자보다 크면 남기고, 아니면 제거하기
예시) [7,3,9,5,8,12] => [7,9,8,12]
function solution(numbers) {
let answer;
// code here;
return answer;
}
해답)
function solution(numbers) {
let answer;
answer = numbers.filter((num, i) => {
if(i === 0) {
return true;
} else {
if(num > numbers[i - 1]) {
retrun true;
} else {
return false;
}
}
})
return answer;
}
해답)
function solution(numbers) {
let answer = [numbers[0]];
for(let i = 1; i < numbers.length; i++) {
numbers[i] > numbers[i-1] ? answer.push(numbers[i]) : null
}
return answer;
}
반응형
'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글
2021.7.31 TIL (격차판 최대합, 봉우리) (0) | 2021.07.31 |
---|---|
2021.7.30 TIL (보이는 학생, 가위바위보, 점수구하기, 등수구하기) (0) | 2021.07.30 |
2021.7.26 TIL 대문자 -> 소문자 치환, 중간 문자 출력 (0) | 2021.07.26 |
2021.7.25 TIL (문자열 치환, 대문자 개수 파악 알고리즘) (0) | 2021.07.26 |
2021.7.23 TIL (일곱난쟁이 알고리즘 해답) (0) | 2021.07.23 |
댓글