q1.
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
정수 배열의 원소 2개를 곱해서 최대값을 return 하는게 목적
function solution(numbers) {
// numbers는 정수배열
// numbers의 원소 중 두개 곱해서 만들 수 있는 최대값
const [first, second, ...rest] = numbers.sort((a, b) => b - a); // a - b는 내림차순
console.log([first,second,...rest])
return first * second;
}
numbers 가 정수 배열이라 스프레드 문법(...)을 통해 1번째 값과 2번째 값을 변수에 담아야된다.
따라서 [first, second, ...rest] 에 sort 메서드를 활용해서 오름차순으로 배열을 반환하고 first값과 second의 값을 곱해서 최대값을 도출한다.
입출력의 예제가 아래와 같아도 sort 메서드로 정렬이 가능해서 제일 높은 값인 first와 second를 뽑을 수 있다.
q2. 배열의 유사도
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
s1,s2 모두 배열이 담겨있음.
s1.filter로 모두 검사한 다음 includes로 s2랑 비교해서 length 출력
function solution(s1, s2) {
return s1.filter((item)=>s2.includes(item)).length;
}
q3. 점의 위치 구하기
사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.
x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.
x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.
내 지저분한 풀이코드 ;
function solution(dot) {
let [first, second] = dot
console.log(first,second)
if(first>0 && second>0){
return 1
} else if(first<0 && second>0){
return 2
} else if(first>0 && second<0){
return 4
} else if(first<0 && second<0){
return 3
}
}
split 메서드는 문자열을 배열로 만드는 것이다!!!
q4. 인덱스 바꾸기
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
못풀었따. 답안을 보고 분석을 시작했따
function solution(my_string, num1, num2) {
const str = [...my_string]; // 원본 데이터에 손상을 주지 않는 새로운 배열 생성
//num1,num2가 숫자 인덱스이기때문에
[str[num1], str[num2]] = [str[num2], str[num1]]; // 서로 안에 있는 값 교체
console.log("1", [str[num1]]);
console.log("2", [str[num2]]);
return console.log(str.join("")); // 배열 붙여줌과 동시에 문자열로 반환
}
solution("I love you", 3, 6);
q5. 삼각형 완성조건 (1)
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
나의 코드
function solution(sides) {
let sidesNum = sides.sort((a,b) => b - a)
console.log(sidesNum);
if(sidesNum[0] >= sidesNum[1]+sidesNum[2]){
return 2
} else {
return 1
}
}