본문 바로가기
카테고리 없음

알고리즘 테스트, 배열과 객체 기초

by 제이엠_ 2022. 1. 20.

1번 문제 : 배열의 선언과 할당

[문제 설명] 주어진 변수 fruits에 "사과", "바나나", "파인애플"을 담아주세요.

[입력 인자] X

[주의 사항]

- 빈 배열도 만들 수 있습니다.

- 배열에 데이터를 담을 때 무엇으로 데이터를 구분할까요?

 

let fruits = []

// push로 풀이
fruits.push("사과")
fruits.push("바나나")
fruits.push("파인애플")

// index로 풀이
fruits[0] = "사과"
fruits[1] = "바나나"
fruits[2] = "파인애플"

[문제 풀이] push로 앞에서부터 하나씩 배열에 넣어줄 수도 있고 index로 원하는 인덱스에 데이터를 담을 수도 있다. 여기서 궁금한 점, 특정 인덱스에 데이터를 안 주면 어떻게 될까?

 

let fruits = []

fruits[1] = "사과"
fruits[3] = "바나나"

console.log(fruits) // [ <1 empty item>, '사과', <1 empty item>, '바나나' ]

1 empty item 이라는 값이 나온다.

 

2번 문제 : 배열의 기능

[문제 설명] 주어진 fruits 배열에서 마지막 요소를 꺼내 newFruits에 넣어주세요.

[입력 인자] X

[주의 사항]

- length를 이용해서 문제를 풀어야 합니다.

- push를 이용해서 문제를 풀어야 합니다.

- 마지막 요소를 꺼낼 때 length를 사용하는 이유는 무엇일까요?

 

const fruits =["사과", "바나나", "파인애플"]
const newFruits = []

newFruits.push(fruits[fruits.length-1]) 
console.log(newFruits) // ['파인애플']

[문제 풀이] fruits의 데이터가 세 개라면 newFruits.push(fruits[2])도 가능하겠지만 데이터가 많아서 셀 수 없다면 length를 써야할 것이다. fruits의 length는 3이지만 인덱스는 0부터 시작해서 마지막은 length보다 1이 낮다. 마지막 인덱스는 'length - 1' 이란 걸 알아두자.

 

3번 문제 : 객체의 선언과 할당

[문제 설명] 주어진 student 객체에 'name'이라는 키를 만들고, "철수"를 할당하세요.

[입력 인자] X

[주의 사항]

- 빈 객체도 만들 수 있습니다.

- 객체와 배열의 차이점을 잘 구분하세요.

 

let student = {}

student.name = "철수"
// student["name"] = "철수"

console.log(student) //{ name: '철수' }

 

4번 문제 : 객체 : 객체의 키 & 값 추가

[문제 설명] 

- student와 school 두 개의 객체가 있습니다.

- student 객체에 school이라는 객체를 할당해야 합니다.

[입력 인자] X

[주의 사항] 객체 안에 객체를 만들 수 있습니다.

const student = {
	name: "철수",
	age: 8,
};

const school = {
	name: "다람쥐초등학교",
	teacher: "다람이",
}

// student 의 school 키 값에
// school 객체를 통째로 할당
student.school = school
// student["school"] = school

console.log(student) 
//{
//  name: '철수',
//  age: 8,
//  school: { name: '다람쥐초등학교', teacher: '다람이' }
//}

[문제 풀이] 객체 안에는 객체를 만들 수 있다. student.school = school 에서 맨 처음 나오는 school은 student 안 객체에서 를 담당하며 뒤에 school은 school 키의 을 담당한다.

댓글