알고리즘을 풀 때는 항상 배열이 비어있거나 값이 없는 경우를 예외처리해주고 시작한다!
오늘은 easy 문제 두 개를 푸는 날
사실 이번에는 문제의 의도를 이해하기가 쉽지 않았던 것 같다. 하지만 문제를 이해하기 위해서 검색하는 와중에 이제 알고리즘에 대해 예전보다는 감이 잡혀가고 있다는 느낌이 들었다.
set을 이용하여 풀어보려고 했지만 역부족...
결국 시간초과로 다음 기회에...
var maxProfit = function(prices) {
let profit = 0;
for (let i=1; i<prices.length; i++) {
if (prices[i]>prices[i-1]) profit+=prices[i]-prices[i-1];
}
return profit;
};
var singleNumber = function(nums) {
let number = 0;
for (let i=0; i < nums.length; i++) {
number ^= nums[i];
}
return number;
};
var singleNumber = function(nums) {
for (let i in nums) {
let iRemoved = nums.splice(i,1)[0];
// i번째 element만 빼둠
if (!nums.includes(iRemoved)) {
// i번째 element가 빠진 nums가 빠진애를 포함하지 않으면
return iRemoved;
// 걔가 범인
}
nums.splice(i,0,iRemoved)
// 아니면 미안하니까 다시 넣어줌
}
};