A self-dividing number is a number that is divisible by every digit it contains.
- For example, 128 is a self-dividing number because 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0.
A self-dividing number is not allowed to contain the digit zero.
Given two integers left and right, return a list of all the self-dividing numbers in the range [left, right].
어떤 수가 주어지고 그 수가 만약 자신의 모든 자릿수로 나눠질 수 있으면 그 숫자를 'Self-Dividing Number'이라고 합니다.
두 개 의 숫자 left와 right가 주어졌을 때 그 사이에 있는 숫자들 중 'Self-Dividing Number'를 찾아 배열에 담아 반환하세요.
function selfDividingNumbers(left: number, right: number): number[] {
const selfDividingNum = [];
for(let i = left ; i <= right ; i++){
const numStr = i.toString();
if(!numStr.includes('0')){
let remainder = [];
for(let j = 0 ; j <numStr.length ; j++){
remainder.push(i % Number(numStr[j]))
}
if (remainder.every((el)=> el === 0)) selfDividingNum.push(i)
}
}
return selfDividingNum
};
코드만 봐도 알겠지만 정말 직관적으로 접근했다.
그렇기 때문에
if (remainder.every((el)=> el === 0)) selfDividingNum.push(i)
이 부분에서 약간 비효율적이라는 생각이든다.
다른 풀이들의 코드를 찾아봤더니 나머지 부분들은 나와 비슷했지만
if (i % Number(numStr[j]) !== 0) {
isOk = false;
break;
}
}
if (isOk) {
result.push(i);
}
이러한 조건문을 사용해서 for문을 마무리하는 방식으로 진행하였다.
boolean을 아직까지 제대로 활용을 못하고 있다는 생각이 든다.
Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.
정수로 이루어진 배열이 주어졌을 때, 각 요소의 제곱을 한 배열을 오름차순으로 반환하는 함수를 구현해주세요.
function sortedSquares(nums: number[]): number[] {
return nums.map((el) => Math.pow(el,2)).sort((a,b) => a-b)
};
Piece of Cake
Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it. That is, for each nums[i] you have to count the number of valid j's such that j != i and nums[j] < nums[i].
Return the answer in an array.
정수의 배열이 주어졌을 때, nums[i]보다 작은 숫자가 배열내에 몇 개 있는지 반환하는 함수를 구현해주세요.
function smallerNumbersThanCurrent(nums: number[]): number[] {
const freq = [];
nums.forEach((el,i) => {
let count = 0;
for(let j = 0 ; j < nums.length ; j++){
if(i !== j && nums[j] < el) count++
}
freq.push(count)
})
return freq
};
Piece of Cake