Lesson 4-3 - MissingInteger
내용 : Find the smallest positive integer that does not occur in a given sequence.
시간 복잡도 : O(N)
성공한 코드 :
function solution(A) { // write your code in JavaScript (Node.js 6.4.0) let tmp_obj = {}; let tmp_arr = new Array(); let rt_val = 1; let all_tot = 0; let ele_tot = 0; for(let i=0;i<A.length;i++) { if(A[i] > 0) { tmp_obj[A[i]] = 0; } } tmp_arr = Object.keys(tmp_obj); if(Object.keys(tmp_arr).length > 1 || tmp_arr[Object.keys(tmp_arr)[0]] == 1) { for(i=1;i<=tmp_arr[tmp_arr.length-1];i++) { rt_val = i+1; if(tmp_arr[i-1] != i.toString()){ rt_val=i; break; } } } return rt_val; }
느낀 점 :
- 어쩌다 보니 한방에 성공
- 값이 채워진 기본 배열을 만드는게 싫어서 다른 사람들과 미묘하게 다름
- 알고리즘 문제에 if 를 저렇게 많이 써도 되는가는 고민사항