문제
sameFrequency라는 함수를 작성하세요. 두 개의 양의 정수가 주어졌을 때, 두 숫자의 자릿수가 같은 빈도를 갖는지 구합니다.
여러분의 솔루션은 반드시 다음과 같은 복잡성을 가져야 합니다.:
Time: O(N)
예시)
sameFrequency(182,281) // true
sameFrequency(34,14) // false
sameFrequency(3589578, 5879385) // true
sameFrequency(22,222) // false
내 풀이 - 정답
function sameFrequency(num1,num2){
//make number to array
const arr1 = [...String(num1)] //['1','8','2']
const arr2 = [...String(num2)] //['2','8','1']
//if not same length return false
if (arr1.length !== arr2.length){
return false
} else {
//if same length
const sortedArr1 = arr1.sort((a,b)=> a-b)
const sortedArr2 = arr2.sort((a,b)=> a-b)
for(let i=0; i < sortedArr1.length; i++){
if(sortedArr1[i] !== sortedArr2[i]){
return false
} else{
return true
}
}
}
}
'Coding Test' 카테고리의 다른 글
[ 빈도수 세기 패턴 / 오답 ] validAnagram (1) | 2023.10.29 |
---|