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
- electron-packager
- Git
- github 100mb
- device in use
- animation
- react-native
- ELECTRON
- 이미지 데이터 타입
- Recoil
- github lfs
- npm package
- nextjs
- react-native-dotenv
- Can't resolve
- html
- Each child in a list should have a unique "key" prop.
- adb connect
- custom printing
- adb pair
- camera permission
- dvh
- rolldown
- augmentedDevice
- camera access
- Failed to compiled
- ffi-napi
- silent printing
- vercel git lfs
- 티스토리 성능
- github pdf
Archives
- Today
- Total
Bleeding edge
[LeetCode] 1051. Height Checker - 자바스크립트 0624 본문
https://leetcode.com/problems/height-checker/
문제풀이는 총 3번했다.
1. sort를 두번 써서
2. 1번에서 푼문제를 살짝 수정
3. 2번에서 효율성 개선
1. sort를 두번 썼을 때는 index가 같은 숫자가 많은경우, 오답이 처리되서 좀 더 단순하게 풀기 위해 다시 풀었다.
2번풀이
1. 원래의 본문과 차이가 있으면, count를 해줄 answer을 선언하고, heights를 그대로 sort하면 원형이 바뀔 테니, heights를 복제한 result를 만든다.
let answer = 0
const result = []
for (let i = 0; i < heights.length; i++) {
result.push(heights[i])
}
2. result를 sort한다
result.sort((a, b) => a - b)
3.result와 heights가 다르면 answer ++한다
for (let i = 0; i < heights.length; i++) {
if (heights[i] !== result[i]) {
answer++
}
}
4. answer을 return 한다.
return answer
이렇게 풀이를 했을때는 faster than이 36%, runtime 55ms, Memory가 41.9MB가 나왔었다. 근데 잘보니까, 첫번째 for문 같은경우에 for loop가 아닌 ...을 사용하면 효율성이 계선될꺼같아 수정했다.
const result = [...heights]
결과
이전풀이보다 99에서 55만큼 효율성이 개선되었다. faster than도 98.79%
전체 풀이
var heightChecker = function (heights) {
let answer = 0
const result = [...heights]
result.sort((a, b) => a - b)
for (let i = 0; i < heights.length; i++) {
if (heights[i] !== result[i]) {
answer++
}
}
return answer
};
'코딩테스트 공부' 카테고리의 다른 글
[LeetCode] 1578. Minimum Time to Make Rope Colorful - 자바스크립트 0624 (0) | 2022.06.24 |
---|---|
[LeetCode] 2269. Find the K-Beauty of a Number - 자바스크립트 0624 (0) | 2022.06.24 |
[LeetCode] 2288. Apply Discount to Prices - 자바스크립트 0623 (0) | 2022.06.23 |
[LeetCode] 338. Counting Bits - 자바스크립트 - 0623 (0) | 2022.06.23 |
[LeetCode] 2126. Destroying Asteroids - 자바스크립트 0621 (0) | 2022.06.21 |