문제
getElement 함수안에 arr 변수를 선언했습니다.
arr 변수는 배열을 할당했고요, 배열에는 다양한 데이터 타입의 요소가 들어있네요!
배열이 담긴 arr 변수에 접근하여 getElement 함수가 "array" 라는 문자열을 return 할 수 있도록 해주세요.
// Assignment1 - 다음 함수 안에 코드를 구현하세요
function getElement() {
let arr = [3, [4, ["array", 9], 2+3], [0]];
}
return arr[1][1][0]
배열의 요소 순서의 시작은 0부터이다.
우리가 반환 하고자 하는 "array" 라는 문자열은 변수 arr의 배열 속 2번째 대괄호[4, ["array", 9], 2+3] 속에 두번째 요소인 작은 배열["array", 9] 속에 첫번째"array" 요소로서 자리하고 있다.
앞서 설명하였듯 배열의 요소 순서의 시작은 0부터 이다.
따라서 변수 arr의 배열 속 2번째 대괄호는 "1번째" (0번째는 3)가 될 것 이고,
2번째 대괄호 속 "두번째 요소" = "1번째" 속에 첫번째 "0번째" 에 위치한다
따라서 정답은
arr[1][1][0]
이 된다.
// Assignment2 - 다음 함수 안에 코드를 구현하세요
// ex) myArray = [3, 2, 5];
function addFirstAndLast(myArray) {
}
addFirstAndLast 함수에 주어진 인자 myArray는 숫자 값으로만 이루어진 array 입니다.
addFirstAndLast 함수에 주어진 인자 myArray 의 첫번째 element와 마지막 element의 값을 더한 값을 리턴해주세요.
만일 myArray에 한 개의 요소만 있다면 해당 요소의 값을 리턴해 주시고 요소가 없는 비어있는 array라면 0을 리턴해주세요.
// Assignment2 - 다음 함수 안에 코드를 구현하세요
// ex) myArray = [3, 2, 5];
function addFirstAndLast(myArray) {
if(myArray.length === 1){
return myArray[0]
} else if(myArray.length === 0){
return 0
} else {
return myArray[0] + myArray[myArray.length -1]
}
}
위 문제에 주어진 조건을 보면
1. myArray 의 첫번째 element와 마지막 element의 값을 더한 값을 리턴
2. 만일 myArray에 한 개의 요소만 있다면 해당 요소의 값을 리턴
3. 요소가 없는 비어있는 array라면 0을 리턴
"만일, ...라면, ...일때" 이런것들은 if문을 이야기 하는 것이다.
그럼 위 답변에서 보면
배열의 길이는 배열 뒤에 .length를 붙혀서 구할 수 있다.
따라서 myArray.length === 1 이라는 뜻은 배열 myArray에 한 개의 요소만 있다는 뜻이고
한 개의 요소만 있다면 return myArray[0] 이다.
배열 요소의 첫번째 순서는 "0부터" 이기 때문에 myArray의 첫번째 요소[0]를 반환해준다.
= if (myArray === 0) {
return 0
}
앞서 2번과 3번이 전제 조건을 작성 하였으니, 2번과 3번이 아닐경우 = else
return myArray[0] + myArray[myArray.length - 1] 로 작성해준다.
첫번째 element는 [0]번째 이고, 마지만 element는 뒤에 "-1" 붙혀주면 구할 수 있기때문에,
myArray[myArray -1] 가 된다.
항상 느끼는 것이지만 문제를 풀 때 지문이 주는 압박감이 상당하다.
쉽게 생각하자.
누구나 풀 수 있다.
특히 출제자가 제시한 순서대로 문제를 꼭 풀 필요는 없다.
결국 답이 맞게 나오고 정상적으로 작동 한다면 일단은 틀리지 않았다는 뜻이다.
2022.10.21 (금) 10:39 Dave Ahn