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 |
Tags
- Can't resolve
- device in use
- react-native-dotenv
- rolldown
- adb connect
- github pdf
- camera access
- vercel git lfs
- Each child in a list should have a unique "key" prop.
- dvh
- augmentedDevice
- custom printing
- Failed to compiled
- html
- camera permission
- ffi-napi
- adb pair
- Recoil
- react-native
- Git
- 이미지 데이터 타입
- github 100mb
- 티스토리 성능
- nextjs
- animation
- github lfs
- npm package
- silent printing
- ELECTRON
- electron-packager
Archives
- Today
- Total
Bleeding edge
[LeetCode] 2126. Destroying Asteroids - 자바스크립트 0621 본문
https://leetcode.com/problems/destroying-asteroids/
개인적으로는 easy로 문제 난이도가 아닌가 싶다. 아까 풀었던 easy문제가 더 어려웠던거 같다.
이 문제는, 주어진 asteroids를 순서대로 배치하고 mass에 부딫히는데, mass가 asteroids에 충돌할 때마다 asteroids만큼 mass가 커진다. 이때 mass가 막 충돌할 asteroids보다 작다면 return false 그리고 모두 통과하였다면 return true를 하면 된다.
1. nowMass를 선언하고, asteroids를 크기순으로 정렬한다
let nowMass = mass
const sortedArr = asteroids.sort((a, b) => a - b)
2. 위에 이야기 한대로, mass보다 asteroids가 크면 false, 그렇지 않으면 지금 mass에 충돌한 것을 더한다
for (let i = 0; i < asteroids.length; i++) {
if (asteroids[i] > nowMass) {
return false
} else {
nowMass += asteroids[i]
}
}
전체풀이
var asteroidsDestroyed = function (mass, asteroids) {
let nowMass = mass
const sortedArr = asteroids.sort((a, b) => a - b)
for (let i = 0; i < asteroids.length; i++) {
if (asteroids[i] > nowMass) {
return false
} else {
nowMass += asteroids[i]
}
}
return true
};
이 문제에서 고민하게 된 것은 문제 풀이 자체에 대한 것보다, 언제 function으로 더 쪼개는가? 에 대해서 고민을 더한 것 같다. 우선 function을 쪼개는 것은, 한줄로 해결되는 경우엔 굳이 function을 하지 않을까! 그러나, 너무 많이 나오는 방법 같은 경우엔, 또 function으로 쪼개는게 나을꺼같다.
'코딩테스트 공부' 카테고리의 다른 글
[LeetCode] 2288. Apply Discount to Prices - 자바스크립트 0623 (0) | 2022.06.23 |
---|---|
[LeetCode] 338. Counting Bits - 자바스크립트 - 0623 (0) | 2022.06.23 |
[LeetCode] 2053. Kth Distinct String in an Array - 자바스크립트 0621 (0) | 2022.06.21 |
[LeetCode] 1154. Day of the Year - 자바스크립트 0621 (0) | 2022.06.21 |
[LeetCode] 2284. Sender With Largest Word Count - 자바스크립트 0620 (0) | 2022.06.20 |