1. 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
function solution(num_list) {
var answer = [];
let a = num_list.filter( num => num % 2 === 0 ).length
let b = num_list.filter( num => num % 2 !== 0 ).length
answer.push (a)
answer.push (b)
return answer;
}
짝수와 홀수를 각각 담은 배열을 .filter()로 만들어 이것의 길이를 배열에 각각 담는 방식으로 했다
물론 문제는 없었다
function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}
이게 일부러 짝수를 앞에 담은 출제자의 의도와 맞는 것 같다
어려운 메소드나 코드를 줄이기 위해 가독성은 떨어지게 만든 것이 아니라
생각을 조금 바꿔서 이렇게 생각할 수 있구나 하는 것을 보며 참고할 수 있었다
2. 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요.
function solution(numbers) {
let answer = []
for(let i = 0; i < numbers.length; i++){
for(let j = i+1; j < numbers.length; j++){
answer.push(numbers[i]*numbers[j])
}
}
return Math.max(...answer);
}
배열의 각 숫자들을 곱을 빈 배열에 담고 이 배열에서의 최댓값을 구했다
이것도 생각을 조금 바꾸면은
function solution(numbers) {
numbers.sort((a,b)=>b-a);
return numbers[0]*numbers[1];
}
이렇게 내림차순으로 처리해서 가장 큰 값과 그 다음을 큰 값의 곱을 구하면 만들 수 있는 곱의 최댓값이 된다
내가 처리한 방식은 만약에 3개를 곱할 경우에 다시 for문이 하나 중첩되는데
위에 방식은 그 다음으로 큰 값을 곱하는 식으로 늘려가기 쉽다
'오늘 뭐했냐 > 기억하면 좋을 문제들' 카테고리의 다른 글
짝수는 싫어요 - Array.from() 활용 (0) | 2023.05.30 |
---|---|
배열 원소의 길이 - .map()활용 (0) | 2023.05.29 |
최빈값 구하기 (객체 혹은 Map 활용) (0) | 2023.05.29 |
문자열 안에 문자열 (0) | 2023.05.27 |
모음 제거 - 정규표현식 (0) | 2023.05.27 |