본문 바로가기
Coding Test

[ 빈도수 세기 패턴 / 정답 ] sameFrequency

by ウリ김영은 2023. 10. 29.

문제

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