👩🏻💻 Today Learn
🔐 알고리즘 문제풀이
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
function solution(arr) {
let answer = [];
answer = arr.sort((a,b)=>b-a)
if (arr.length <= 1){
return [-1]
} else {
answer.pop()
}
return answer;
}
// pop() 배열의 마지막 요소 제거하고 나머지 요소를 반환해줌
// 입출력 예시에 낚임
입출력 예시 배열의 숫자가 내림차순으로 정렬되어있어서 정렬하는것만 생각하여 풀었었다. 그 결과 채점할때는 성공이었는데 제출하니 다 실패가 되었다 ㅠㅠ
/*
function solution(arr) {
arr.splice(arr.indexOf(Math.min(...arr)),1)
arr.length <= 1 ? answer = [-1] : answer = arr
return answer;
}
*/
function solution(arr) {
if (arr.length <= 1) {
return [-1]
} else {
arr.splice(arr.indexOf(Math.min(...arr)),1)
}
return arr;
}
// indexOf() 배열에서 주어진 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 찾을 수 없는 경우 -1을 반환함
배열을 돌면서 1개 이상일때 splice()
로 배열내의 가장작은 수 하나를 찾아서 거기서부터 하나만 잘라주고 다시 배열을 리턴해주니 성공이 되었다... 쩝
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
function solution(num_list) {
let answer = [];
answer[0] = num_list.filter((a)=> a % 2 ===0).length
answer[1] = num_list.filter((a)=> a % 2 !==0).length
return answer;
}
배열의 첫번째에는 2로 나누었을때 나머지가 0이되는, 즉 짝수만 필터링해서 그 개수를 구하고, 배열의 두번째에는 홀수를 구해서 반환!
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
function solution(array, n) {
let answer = 0;
answer = array.filter((num)=>num === n).length
return answer;
}
위에 풀었던 방법과 동일한 방법으로 풀 수 있었다.
문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요.
function solution(strlist) {
let answer = [];
for (let i=0; i<strlist.length; i++){
answer.push(strlist[i].length);
}
return answer;
}
배열을 돌면서 요소의 길이를 구한 후 각 요소의 단어길이를 구해서 배열에 push해주면 완료
✍🏻 회고
금요일 TIL은 가장 열심히 쓸 수있을 거라고 생각했는데 ㅎ (알고리즘 문제로 대체해봅니다~) 개인과제 마무리 후 과제에 대한 TIL을 작성해야겠다.