주제 설명:
정수 배열이 주어지면 배열의 모든 숫자에서 연결할 수 있는 가장 큰 정수를 찾습니다.
예:
입력: [7,53, 54]
, 출력: 75453
;
입력: [1,321,35,4]
, 출력: 4353213
;
암호
아이디어:
- 배열의 모든 숫자를 문자열로 변환하고 첫 번째 문자의 크기에 따라 전체적으로 정렬합니다.
- 첫 글자가 같으면
while
루프를 통해 역방향 비교 예를 들어 52와 53을 비교할 때 첫 글자 5가 같으면 2와 3을 비교 비교 대상 두 문자열의 길이가 다른 경우 비교 , 먼저 순환되는 문자열은 항상 후속 비교에 마지막 문자 사용입니다. 예를 들어 523과 52를 비교할 때 처음 두 자리는 동일하고 523 중 3은 52 중 마지막 2와 비교되며, 등등.
function toInt(arr) {
let newArr = arr.sort((a,b) => {
a+='';
b+='';
let aLen = a.length, bLen = b.length;
let aIndex = 0, bIndex = 0;
while(aIndex<=aLen && bIndex<bLen) {
if(arr[aIndex]===arr[bIndex]) {
aIndex + 1 < aLen && (aIndex++, flag=true);
bIndex + 1 < bLen && (bIndex++, flag = true);
} else {
break
}
if(flag) break;
}
if(arr[aIndex]>arr[bIndex]) {
return -1;
} else {
return 1;
}
})
return newArr.join('')
}