2619. Array Prototype Last 문제 소개, 풀이 과정 및 코드 리팩토링
자바스크립트의 배열은 매우 강력한 데이터 구조 중 하나입니다. 하지만 때때로 우리는 배열의 마지막 요소에 쉽게 접근하고 싶어 할 때가 있습니다. 표준 배열 메서드만으로는 이 기능이 직관적이지 않을 수 있기에, 배열의 마지막 요소를 쉽게 얻을 수 있는 .last() 메서드를 구현하는 방법에 대해 알아보겠습니다. 이 글을 통해 자바스크립트의 프로토타입을 활용한 강력한 확장성에 대해서도 이해할 수 있을 것입니다.
2619. Array Prototype Last
문제 소개
배열에 .last() 메서드를 추가하여, 이 메서드를 호출할 때마다 배열의 마지막 요소를 반환하도록 하는 기능을 구현해야 합니다. 배열이 비어있다면 -1을 반환해야 합니다.
문제 바로가기 ▽
https://leetcode.com/problems/array-prototype-last/
필자의 해결방법
Array.prototype.last = function() {
if (this.length === 0) return -1;
return this[this.length - 1];
};
코드 원리
프로토타입 확장: Array.prototype에 메서드를 추가함으로써, 모든 배열 인스턴스에서 해당 메서드를 사용할 수 있게 됩니다.
this 키워드: 현재 배열 인스턴스에 대한 참조입니다. this.length는 호출한 배열의 길이를 나타냅니다.
조건문: 배열이 비어있는 경우 (this.length === 0), -1을 반환합니다.
배열 접근: 배열의 마지막 요소에 접근하기 위해 this[this.length - 1]을 사용합니다.
개선할 수 있는 풀이 방법
위 코드는 이미 매우 효율적으로 작성되었습니다. 하지만 코드의 가독성을 높이기 위해, 조건문을 사용하지 않고 삼항 연산자를 사용하는 방법도 고려할 수 있습니다.
Array.prototype.last = function() {
return this.length ? this[this.length - 1] : -1;
};
끝으로
.last() 메서드를 배열에 추가하는 것은 자바스크립트의 프로토타입 체계를 활용하는 좋은 예시입니다. 이를 통해 우리는 기존 자바스크립트 객체에 사용자 정의 기능을 추가할 수 있는 강력한 능력을 가질 수 있습니다.
이 글을 통해 배운 내용을 실제 프로젝트에 적용해 보시길 바라며, 자바스크립트의 유연성과 확장성을 깊이 이해하는 계기가 되었기를 희망합니다. 프로그래밍은 끊임없는 학습과 창의적인 해결 방법을 통해 더욱 흥미로워집니다.
▼ 30초 더 투자하면 얻게 되는 정보! ▼
'코딩테스트 > LeetCode' 카테고리의 다른 글
1. Two Sum 문제 해결 방법 (0) | 2024.03.21 |
---|---|
1974. Minimum Time to Type Word Using Special Typewriter (0) | 2024.03.15 |