728x90
반응형
문제
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
풀이
function solution(numbers) {
let answer = numbers.map(num => num + '').sort((a, b) => (b + a) - (a + b)).join('');
return answer[0] === "0" ? "0" : answer;
}
numbers.map(num => num + '') = 숫자들을 문자로 변환
sort((a, b) => (b + a) - (a + b)) = 문자로 변환된 숫자를 연결하여 비교하여 정수가 나오면 가만히 음수가 나오면 위치 변경하여 정렬
.join('') = 문자열 합치기
위를 실행한 후 answer 배열 맨 첫번 째가 0이라면 가장 큰 수가 0이니 0 출력
728x90
반응형
'Study > 알고리즘' 카테고리의 다른 글
[프로그래머스] 기능개발 (Javascript) (0) | 2022.06.03 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (Javascript) (0) | 2022.03.23 |
[프로그래머스] K번째수 (Javascript) (0) | 2022.02.19 |
시간 복잡도란? (0) | 2022.01.29 |
[백준] 18258 큐2 JavaScript (0) | 2021.09.13 |