📄 문제
- 정렬되지 않은 정수 배열 nums가 주어지면 누락된 가장 작은 양의 정수를 반환해라!
- 주의점 : 누락된 값이 없으면 1 return, 음수는 신경 안쓰는 듯하다.
📝 나의 풀이
let firstMissingPositive = function (nums) {
const setBox = new Set(nums);
let targetNum = 1;
while(setBox.has(targetNum)) {
targetNum++
}
return targetNum
};
⌨ 접근법
1. 논리가 간단하다. 새 배열 안에 가장 작은 양의 정수인 1(targetNum) 부터 있는지 없는지 검사한다.
2. 있으면 1씩 올려서 다시 검사, 없으면 targetNum return
3. 순서도 상관없고 보기 편하게 하기 위해서 Set 함수를 사용해서 집합객체로 만들어서 검사한다.
😂 아쉬운 점
- 너무 어렵게 생각해서 시간이 오래 걸린 것 같다. 문제의 Hard 표시를 보고 무서워서 거창한 논리를 세워보려고 하다가 시간을 잡아먹어서 잠을 늦게 자게 되었다 ㅎㅎ
- 나름 심플하게 잘 짠 것 같은데 효율성이 생각보다 좋지 못해서 다양한 방법을 더 고민해보는 시간을 틈틈히 가져야겠다.
📚 문제 링크
https://leetcode.com/problems/first-missing-positive/
First Missing Positive - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
'TEAM 알고싶다 > 성공 문제' 카테고리의 다른 글
[프로그래머스] JavaScript - 캐시 (0) | 2022.06.17 |
---|---|
[LeetCode] 152. Maximum Product Subarray(최대로 생성된 부분 배열?) (0) | 2022.06.14 |
[프로그래머스] JavaScript - 오픈채팅방 (0) | 2022.06.09 |
[프로그래머스] JavaScript - 구명보트 (0) | 2022.06.06 |
[LeetCode] 4. Median of Two Sorted Arrays (정렬된 두 배열의 중앙값) (0) | 2022.06.03 |