Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트
- leetcode
- JavaScript
- 제로베이스
- 타입스크립트
- HTML
- 자바스크립트 알고리즘
- 프론트엔드
- Next
- next13
- 리액트쿼리
- 자바스크립트 문제 풀이
- CSS
- NPM
- lodash
- 자바스크립트 알고리즘 문제
- 자바스크립트코딩테스트
- Baekjoon
- leetcode문제풀이
- 프로그래머스
- Next.js13
- til
- 자바스크립트 문제
- 자바스크립트 연결리스트
- 알고리즘문제풀이
- 리액트
- stack문제
- react
- 자바스크립트 문제풀이
- JS
Archives
- Today
- Total
코드노트
leetcode 35. Search Insert Position 문제 풀이 자바스크립트 본문
더보기
문제 설명
고유한 정수의 정렬된 배열과 대상 값이 주어지면 대상이 발견되면 인덱스를 반환합니다.
그렇지 않은 경우 순서대로 삽입된 경우 인덱스를 반환합니다.
런타임 복잡도가 O(log n)인 알고리즘을 작성해야 합니다.
// Example 1:
Input: nums = [1,3,5,6], target = 5
Output: 2
// Example 2:
Input: nums = [1,3,5,6], target = 2
Output: 1
// Example 3:
Input: nums = [1,3,5,6], target = 7
Output: 4
역시나 leetcode문제는 문제를 잘 살펴봐야하는거 같다...
처음 문제만 보고 배열에 있는 요소를 확인해서 있으면 index를 반환하는줄 알았다..
문제를 왜 항상 제대로 안보고 감으로 풀려고할까..
이제 문제르르 풀기전 문제를 3번은 읽어보고 이해하고 풀어야겠다..ㅠㅠ
그 외에도 런타임 복잡도가 O(log n)인 알고리즘을 작성해한다.
문제 풀이
var searchInsert = function (nums, target) {
let result = nums.indexOf(target);
let false_index;
if (result === -1) {
nums.push(target);
false_index = nums.sort((a, b) => a - b).indexOf(target);
return false_index;
} else {
for (let i in nums) {
if (nums[i] === target) {
return i;
}
}
}
};
- 처음에 indexOf를 통해서 target이 있는지 확인을 해주었다.
- target이 있지 않으면 push를 통해서 배열에 넣어주고 sort로 정렬 후 다시 indexOf로 index를 확인하여 반환하였다.
- target이 있으면 for in을 통해서 index를 반환했다.
- 코딩테스트 문제들을 풀때마다 느끼는거지만 되는것들을 정리하는것보다 안되는 것들을 먼저 정리하고 나면 그 뒤에는 코드짜기가 더 쉬운거 같다.
'Code note > 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
자바스크립트 스택 문제 풀이 정리, 기린의 시야 (0) | 2022.09.22 |
---|---|
LeetCode 58. Length of Last Word 문제풀이 자바스크립트 (0) | 2022.09.21 |
자바스크립트 stack 알고리즘 문제 풀이 / 알파벳 순서대로 꺼내기 (0) | 2022.09.21 |
leetcode 3. Longest Substring Without Repeating Characters 문제 풀이 (0) | 2022.09.18 |
LeetCode 26. Remove Duplicates from Sorted Array 배열 문제 풀이 (0) | 2022.09.18 |