function solution(numbers) { const ans=numbers.map(num=>num+"").sort((a,b)=>(b+a)-(a+b)).join(''); return ans[0]==='0' ? '0' : ans; } 000000000인경우 0을 return해야된다는 생각을 하지 못했다 음... 그리고 toString보다 +""가 더효율적이고 편해서 이걸 사용했고 (b+a)-(a+b)부분에서 굳이 숫자로 바꿔주지 않아도 알아서 계산된다 당장 console.log('19'-'10')만찍어봐도 9가나오는것을 확인할수있다
function solution(priorities, location) { const obj=priorities.map((value,index)=>({index:index,value:value})); let num=1; while(true){ const max=Math.max.apply(Math, obj.map(i => { return i.value; })); if(obj[0].value>=max){ if(obj[0].index===location){ return num; } obj.shift(); num++; }else{ obj.push(obj[0]); obj.shift(); } } } 이것도 생각해보면 간단한데 시간이 많이걸렸다. 그냥 map으로 index를 넣은 객체배열을 만들고 최대값을 가져오는 ..
function solution(record) { let users={}; record.reverse(); record.forEach(value=>{ const arr=value.split(' '); if(arr.length>2&&users[arr[1]]===undefined){ users[arr[1]]=arr[2]; } }) record.reverse(); let ans=[]; record.forEach(value=>{ const arr=value.split(' '); if(arr[0]==="Enter"){ ans.push(`${users[arr[1]]}님이 들어왔습니다.`) }else if(arr[0]==="Leave"){ ans.push(`${users[arr[1]]}님이 나갔습니다.`) } }) ..